jianchang512 / ChatTTS-ui

一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。A simple native web interface that uses ChatTTS to synthesize text into speech, along with support for external API interfaces.
https://pyvideotrans.com
Other
5.03k stars 549 forks source link

启动后加载不了模型,是不是模型还要自己先下载放到哪个目录中啊 #85

Open jeffreychen567 opened 4 weeks ago

jeffreychen567 commented 4 weeks ago

启动后加载不了模型,是不是模型还要自己先下载放到哪个目录中啊,我操作就是git clone 然后docker-compose up 就报下面的错了,没下载过别的模型

Traceback (most recent call last): chat-tts-ui | File "/app/app.py", line 38, in chat-tts-ui | chat.load_models(source="local",local_path=CHATTTS_DIR, compile=True if os.getenv('compile','true').lower()!='false' else False) chat-tts-ui | File "/app/ChatTTS/core.py", line 62, in load_models chat-tts-ui | self._load({k: os.path.join(download_path, v) for k, v in OmegaConf.load(os.path.join(download_path, 'config', 'path.yaml')).items()}, kwargs) chat-tts-ui | File "/app/ChatTTS/core.py", line 85, in _load chat-tts-ui | vocos.load_state_dict(torch.load(vocos_ckpt_path)) chat-tts-ui | File "/home/venv/lib/python3.9/site-packages/torch/serialization.py", line 1040, in load chat-tts-ui | return _legacy_load(opened_file, map_location, pickle_module, pickle_load_args) chat-tts-ui | File "/home/venv/lib/python3.9/site-packages/torch/serialization.py", line 1262, in _legacy_load chat-tts-ui | magic_number = pickle_module.load(f, pickle_load_args) chat-tts-ui | _pickle.UnpicklingError: invalid load key, 'v'. chat-tts-ui | 2024-06-04 15:07:18,616 - modelscope - INFO - PyTorch version 2.3.0+cu121 Found. chat-tts-ui | 2024-06-04 15:07:18,616 - modelscope - INFO - Loading ast index from /root/.cache/modelscope/ast_indexer chat-tts-ui | 2024-06-04 15:07:18,659 - modelscope - INFO - Loading done! Current index file version is 1.14.0, with md5 b604bdfab1cf1f8580fc2910636bd99f and a total number of 976 components indexed chat-tts-ui | INFO:ChatTTS.core:Load from local: /app/models/pzc163/chatTTS chat-tts-ui | INFO:ChatTTS.core:use cuda:0 chat-tts-ui | Traceback (most recent call last): chat-tts-ui | File "/app/app.py", line 38, in chat-tts-ui | chat.load_models(source="local",local_path=CHATTTS_DIR, compile=True if os.getenv('compile','true').lower()!='false' else False) chat-tts-ui | File "/app/ChatTTS/core.py", line 62, in load_models chat-tts-ui | self._load({k: os.path.join(download_path, v) for k, v in OmegaConf.load(os.path.join(download_path, 'config', 'path.yaml')).items()}, kwargs) chat-tts-ui | File "/app/ChatTTS/core.py", line 85, in _load chat-tts-ui | vocos.load_state_dict(torch.load(vocos_ckpt_path))

这个错误信息表明在尝试加载一个PyTorch模型时遇到了问题。具体来说,错误发生在尝试从文件中反序列化(加载)模型状态字典时。错误信息 _pickle.UnpicklingError: invalid load key, 'v'. 意味着在尝试反序列化数据时遇到了一个无效的键 'v'。

这里的关键代码行是: python 复制

vocos.load_state_dict(torch.load(vocos_ckpt_path))

这行代码尝试加载一个名为 vocos_ckpt_path 的文件,该文件应该包含模型的状态字典。torch.load() 函数用于从文件中加载模型状态字典,但在这里它失败了,因为文件中的数据似乎损坏了。

可能的原因包括:

文件损坏:模型文件可能在传输过程中损坏,或者在存储时出现了问题。

不兼容的文件格式:文件可能是使用不同版本的PyTorch或其他不兼容的设置保存的。

错误的文件路径:vocos_ckpt_path 可能指向了一个不正确的文件路径。

解决这个问题的步骤可能包括:

检查 vocos_ckpt_path 是否正确指向了有效的模型文件。

尝试重新下载或重新生成模型文件,确保文件没有损坏。

确认模型文件是使用与当前PyTorch版本兼容的方式保存的。

如果可能,检查模型文件的内容,看是否有明显的损坏迹象。

这个错误通常与文件的完整性或兼容性有关,因此解决问题的关键在于确保模型文件是完整且与当前环境兼容的。

jianchang512 commented 4 weeks ago

看看 models目录下有没有 pzc163/chatTTS 文件夹,里面有没有内容 如果有但是空的,可以尝试 https://www.modelscope.cn/models/pzc163/chatTTS/files 将这里下载后的 config 文件和asset文件夹复制到 models/pzc163/chatTTS内

jeffreychen567 commented 4 weeks ago

感谢,应该你说的是对的,我现在正在下载模型,待会看看行不行。这一点在项目的介绍里应该要讲清楚,漏了这一个介绍,所以很多人都没有做这一步。

---原始邮件--- 发件人: @.> 发送时间: 2024年6月4日(周二) 晚上11:26 收件人: @.>; 抄送: @.**@.>; 主题: Re: [jianchang512/ChatTTS-ui] 启动后加载不了模型,是不是模型还要自己先下载放到哪个目录中啊 (Issue #85)

看看 models目录下有没有 pzc163/chatTTS 文件夹,里面有没有内容 如果有但是空的,可以尝试 https://www.modelscope.cn/models/pzc163/chatTTS/files 将这里下载后的 config 文件和asset文件夹复制到 models/pzc163/chatTTS内

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>