#5910 程序内部错误:PreTrainedModel.initialize_weights..smart_apply() missing 1 required positional argument: 'is_remote_code'Traceba

2a14:7dc0* Posted at: 1 hour ago

程序内部错误:PreTrainedModel.initialize_weights..smart_apply() missing 1 required positional argument: 'is_remote_code'
Traceback (most recent call last):
File "/Users/zt/pyvideotrans/videotrans/task/only_one.py", line 87, in run

trk.dubbing()

File "/Users/zt/pyvideotrans/videotrans/task/_stage_dubbing.py", line 23, in dubbing

self._tts()

File "/Users/zt/pyvideotrans/videotrans/task/_stage_dubbing.py", line 102, in _tts

run_tts(

File "/Users/zt/pyvideotrans/videotrans/tts/__init__.py", line 207, in run

return _cls(**kwargs).run()  # type:ignore

File "/Users/zt/pyvideotrans/videotrans/tts/_base.py", line 95, in run

self._exec()

File "/Users/zt/pyvideotrans/videotrans/tts/_confuciustts.py", line 40, in _exec

model = ConfuciusTTS(

File "/Users/zt/pyvideotrans/videotrans/confuciustts/cli/inference.py", line 70, in init

self.w2v_model = Wav2Vec2BertModel.from_pretrained(f'{ROOT_DIR}/models/models--facebook--w2v-bert-2.0').eval().to(self.device)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 277, in _wrapper

return func(*args, **kwargs)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 5048, in from_pretrained

) = cls._load_pretrained_model(

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 5362, in _load_pretrained_model

model._initialize_missing_keys(missing_keys + mismatched_keys, is_quantized)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 5894, in _initialize_missing_keys

self.initialize_weights()

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context

return func(*args, **kwargs)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 2984, in initialize_weights

self.smart_apply(self._initialize_weights)

TypeError: PreTrainedModel.initialize_weights..smart_apply() missing 1 required positional argument: 'is_remote_code'

cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: /Users/zt/Downloads/YTDown.com_YouTube_How-the-Statue-of-Liberty-Got-Across-the_Media_H185YckFTdA_001_1080p.mp4,
输出结果保存到文件夹: /Users/zt/Downloads/_video_out/YTDown.com_YouTube_How-the-Statue-of-Liberty-Got-Across-the_Media_H185YckFTdA_001_1080p-mp4,
临时文件夹: /Users/zt/pyvideotrans/tmp/21810/c524117875
已选 清理已存在
未选 启用CUDA加速
未选 降噪
语音识别:faster-whisper(本地内置), model_name: large-v3-turbo, 发音语言: 英语, 断句方式:默认断句
翻译渠道:Hy-MT2-1.8B(本地内置),原始语言:英语,目标语言:简体中文, 已选 发送完整字幕
配音渠道:Confucius-TTS(本地内置), 角色:clone, 配音语言:简体中文, 未选 二次语音识别
音量:+0%, 语速:+0%, 已选 音频加速, 未选 视频慢速
字幕: 嵌入硬字幕
已选 分离人声与背景声, 已选 重新嵌入背景声, 背景音量0.8, 背景声音时长 短于 视频时长时: 拉长(降速播放),存在分离后的纯净人声文件,存在分离后的背景声音文件
代理地址:

5 Replies

这是由 transformers 库内部版本不兼容导致的错误,常见于较新的 transformers 版本(如 4.57.x)与 Confucius-TTS 所需的旧版 API 不匹配。

解决方法

  1. 降级 transformers(推荐):在终端中执行以下命令,将 transformers 降至兼容版本(如 4.47.1):

    uv add transformers==4.47.1

    如果使用 pip:

    pip install transformers==4.47.1
  2. 更换配音渠道:暂时切换到其他本地配音渠道,如 Qwen-TTS(本地内置)Edge-TTS(免费),避免使用 Confucius-TTS。
  3. 等待软件更新:该问题已在后续版本中修复,建议升级 pyVideoTrans 至最新版(v4.06+)。

tts为什么读数字的时候是英文的

使用 Confucius-TTS 或 Edge-TTS 等渠道时,数字被读成英文,通常是因为所选配音角色或 TTS 引擎对数字的处理方式取决于其内置的发音规则,与软件设置(如目标语言)不完全一致。请按以下步骤排查:

  1. 确认目标语言设置:在主界面“配音渠道”区域,确保“目标语言”已正确设置为“简体中文”(而非英语)。这会影响 TTS 引擎对数字的朗读策略。
  2. 切换配音角色:尝试更换其他中文配音角色(如 Edge-TTS 的 zh-CN-XiaoxiaoNeural),看数字是否会正常读为中文。某些角色可能默认使用英文数字发音。
  3. 更换配音渠道:如果问题依旧,建议切换到其他支持中文的本地渠道(如 Qwen3-TTS 或 Piper),避免使用 Confucius-TTS。
  4. 检查文本是否被二次处理:若勾选了“LLM 重新断句”或“发送完整字幕”,注意确认翻译后的字幕文本中数字本身是否被误转为英文(例如原文是“123”翻译后仍是“123”而非中文“一百二十三”)。但软件默认不会自动转换数字,所以一般仍保留原数字字符。

如果以上排查仍无法解决,请提供软件日志(logs/ 目录下最新日志)和相关配音配置截图,以便进一步分析。

程序内部错误:PreTrainedModel.initialize_weights..smart_apply() missing 1 required positional argument: 'is_remote_code'
Traceback (most recent call last):
File "/Users/zt/pyvideotrans/videotrans/task/only_one.py", line 87, in run

trk.dubbing()

File "/Users/zt/pyvideotrans/videotrans/task/_stage_dubbing.py", line 23, in dubbing

self._tts()

File "/Users/zt/pyvideotrans/videotrans/task/_stage_dubbing.py", line 102, in _tts

run_tts(

File "/Users/zt/pyvideotrans/videotrans/tts/__init__.py", line 207, in run

return _cls(**kwargs).run()  # type:ignore

File "/Users/zt/pyvideotrans/videotrans/tts/_base.py", line 95, in run

self._exec()

File "/Users/zt/pyvideotrans/videotrans/tts/_confuciustts.py", line 40, in _exec

model = ConfuciusTTS(

File "/Users/zt/pyvideotrans/videotrans/confuciustts/cli/inference.py", line 70, in init

self.w2v_model = Wav2Vec2BertModel.from_pretrained(f'{ROOT_DIR}/models/models--facebook--w2v-bert-2.0').eval().to(self.device)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 277, in _wrapper

return func(*args, **kwargs)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 5048, in from_pretrained

) = cls._load_pretrained_model(

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 5362, in _load_pretrained_model

model._initialize_missing_keys(missing_keys + mismatched_keys, is_quantized)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 5894, in _initialize_missing_keys

self.initialize_weights()

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context

return func(*args, **kwargs)

File "/Users/zt/pyvideotrans/.venv/lib/python3.10/site-packages/transformers4576/modeling_utils.py", line 2984, in initialize_weights

self.smart_apply(self._initialize_weights)

TypeError: PreTrainedModel.initialize_weights..smart_apply() missing 1 required positional argument: 'is_remote_code'

cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: /Users/zt/Downloads/YTDown.com_YouTube_How-the-Statue-of-Liberty-Got-Across-the_Media_H185YckFTdA_001_1080p.mp4,
输出结果保存到文件夹: /Users/zt/Downloads/_video_out/YTDown.com_YouTube_How-the-Statue-of-Liberty-Got-Across-the_Media_H185YckFTdA_001_1080p-mp4,
临时文件夹: /Users/zt/pyvideotrans/tmp/22282/c524117875
已选 清理已存在
未选 启用CUDA加速
未选 降噪
语音识别:faster-whisper(本地内置), model_name: large-v3-turbo, 发音语言: 英语, 断句方式:默认断句
翻译渠道:Hy-MT2-1.8B(本地内置),原始语言:英语,目标语言:简体中文, 已选 发送完整字幕
配音渠道:Confucius-TTS(本地内置), 角色:clone, 配音语言:简体中文, 未选 二次语音识别
音量:+0%, 语速:+0%, 已选 音频加速, 未选 视频慢速
字幕: 嵌入硬字幕
已选 分离人声与背景声, 已选 重新嵌入背景声, 背景音量0.8, 背景声音时长 短于 视频时长时: 拉长(降速播放),存在分离后的纯净人声文件,存在分离后的背景声音文件
代理地址:

这是由 transformers 库版本过高导致的兼容性问题。Confucius-TTS 需要旧版 transformers API,而 4.57.x 版本新增了 is_remote_code 参数导致调用失败。

解决方案(任选其一):

  1. 降级 transformers 库(推荐):
    在终端中执行以下命令,将 transformers 降至 4.47.1:

    uv add transformers==4.47.1

    如果使用 pip:

    pip install transformers==4.47.1
  2. 更换配音渠道:
    暂时切换到其他支持中文的本地渠道,如 Qwen-TTS(本地内置)Edge-TTS(免费),避免使用 Confucius-TTS。
  3. 升级软件版本:
    该问题已在 v4.06 及以上版本修复,建议从 官网 或 GitHub Release 下载最新完整版覆盖安装(需保留旧版配置文件则仅替换 sp.exe 和 _internal 文件夹)。

降级后重启软件即可正常使用 Confucius-TTS。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Dondate via ko-fi.com

Dondate via PayPal

Related resource