-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apple 芯片Mac模型本地推理和预处理 #93
Comments
你好,我m1芯片用conda安装gxx和pytorch-cuda=11.8的时候提示`Could not solve for environment specs
The environment can't be solved, aborting the operation`这个有解决办法吗 |
M芯片怎么能装cuda的呀,得装Mac版本的:conda install pytorch::pytorch torchvision torchaudio -c pytorch,另外 gxx 参照 ChatGPT的回答:
不要通过install.sh安装,会出问题 |
记录一下上面的解决方案:改一下config.py 改第二行is_half=False和第五行infer_device="cpu" |
将cuda改为mps应该也可以吧? |
我目前测试下还没有支持mps,要是可以的话还请告知 |
代码整理完毕,给各位写个具体的方法:
基本上大部分webUI内的功能都可使用MPS运行,不过有几个例外:
已知问题:存在内存泄漏,主要体现在推理时,多次推理后可能导致内存占用很高,暂时不知道如何解决。不过大体上不太影响,重启推理UI可以释放内存。 修改过程主要就是对所有分布式训练的代码进行更改,因为mps上不需要也不支持分布式训练。 代码改动较复杂,之后如果可能,我会尝试给作者提交PR。 |
一定要Python3.9吗?3.11行不行?
…________________________________
发件人: Lion Wu ***@***.***>
发送时间: Tuesday, January 23, 2024 6:50:46 PM
收件人: RVC-Boss/GPT-SoVITS ***@***.***>
抄送: Stanley-baby ***@***.***>; Comment ***@***.***>
主题: Re: [RVC-Boss/GPT-SoVITS] Apple 芯片Mac模型本地推理和预处理 (Issue #93)
代码整理完毕,给各位写个具体的方法:
1. 我把修改后的完整项目文件传到 iCloud 中了,点击下载副本就可以了。链接<https://www.icloud.com.cn/iclouddrive/038-pyt2oEguTk5cIUr_ei0NA#GPT-SoVITS>
2. 根据情况修改 webui.py 中的显存大小(可跳过):
# 检查MPS的可用性
if torch.backends.mps.is_available():
if_mps_ok = True
gpu_infos.append("MPS")
mem.append(32) # 修改成显存大小,默认大约是系统内存大小的2/3,这个是用于计算batch size的,其实不改也没事,webUI可手动调
1. 创建 Conda 环境:
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
1. 定位到项目目录:cd 你的项目路径
2. 安装依赖:pip install -r requirements.txt
3. 安装特定版本的ASR依赖。最新版本的funasr依赖改了,打标时会出错,所以安装此版本:pip install funasr==0.8.7
4. 安装nightly版本pytorch,2.1.2实测会出错:pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
5. 如果没有安装ffmpeg,安装它:brew install ffmpeg
6. 运行webUI即可:python wbeui.py
基本上大部分webUI内的功能都可使用MPS运行,不过有几个例外:
1. UVR5 webui是使用CPU进行的,可以前往原项目地址<https://github.com/Anjok07/ultimatevocalremovergui>下载Mac最新版本GUI,勾选GPU运行,速度会更快一点,可选功能也会更多。
2. ASR功能由于使用阿里的依赖进行,更改成mps比较麻烦,不过CPU速度也快的。
3. 我在代码中默认开启了PYTORCH_ENABLE_MPS_FALLBACK=1,遇到mps不支持的功能时自动使用cpu运行。
已知问题:存在内存泄漏,主要体现在推理时,多次推理后可能导致内存占用很高,暂时不知道如何解决。不过大体上不太影响,重启推理UI可以释放内存。
修改过程主要就是对所有分布式训练的代码进行更改,因为mps上不需要也不支持分布式训练。
代码改动较复杂,之后如果可能,我会尝试给作者提交PR。
这是我目前为止用过的效果最好的TTS项目,非常感谢作者开源!
如果有任何问题或建议欢迎提出
―
Reply to this email directly, view it on GitHub<#93 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AN5RXK7ZQT2M6MJWF5GE74LYP6IYNAVCNFSM6AAAAABCCR5YGWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBVG44DEMJYGQ>.
You are receiving this because you commented.Message ID: ***@***.***>
|
这个我没尝试过,readme中写的3.9我就用的3.9,你可以试试看 |
依赖怎么也装不上。。。ERROR: Could not find a version that satisfies the requirement scipy (from versions: none) |
不会啊,你要不试试 |
好像可以了,请问下使用你云盘中的副本,还需要安装brew install gcc吗?还是说直接就按照你的步骤来就可以了? |
应该不需要的吧,Mac上有Clang的 |
我测试了一下,完成度很高,可以说解决了mac不能构建模型的弊端。 注:我系统为macos12 |
发现同样问题 |
我暂时还没遇到这些问题,不知道是不是版本的问题。我使用的是macOS 14版本。不知道有没有更多人能测试一下。 |
感觉还是训练时间或者模型本身的问题,云端训练出来的模型效果确实更好一点 |
注意,第六步应该为pip install funasr==0.8.7 |
请问现在是直接 git克隆最新项目然后使用这里的文档步骤安装就可以了吗? |
是的 |
一键三连的时候,报下面错误咋搞 "/Users/brownfeng/miniforge3/envs/GPTSoVits/bin/python" GPT_SoVITS/prepare_datasets/1-get-text.py |
检查网络问题,或者手动根据readme步骤下载预训练模型 |
谢谢大佬我看看 |
类似问题, macos13.6.4,intel,可能微调sovits是有问题,推理的时候声音模糊不清,sovits更换官方提供就能听清楚一些。 |
类似问题, macos13.6.4,intel,微调GPT这步没什么问题,可能在微调sovits时有问题,推理用微调后sovits模型声音模糊不清,sovits更换官方提供模型就能听清楚一些。 |
请问大佬可以出一个新版本吗?这个已经成功在Mac Studio使用GPU了.速度翻倍,非常感谢 |
使用仓库最新代码就行了,不过现在使用mps加速第一有内存泄漏,第二训练出来的模型生成的声音是很差的,所以我们暂时使用CPU,等pytorch mps优化好后再使用GPU加速。 |
好的 不过我用这个确实速度非常快 感谢🥹
Lion-Wu ***@***.***>于2024年3月19日 周二11:23写道:
… *代码整理完毕,给各位写个具体的方法:*
1. 我把修改后的完整项目文件传到 iCloud 中了,点击下载副本就可以了。链接
<https://www.icloud.com.cn/iclouddrive/038-pyt2oEguTk5cIUr_ei0NA#GPT-SoVITS>
2. 根据情况修改 webui.py 中的显存大小(可跳过):
# 检查MPS的可用性
if torch.backends.mps.is_available():
if_mps_ok = True
gpu_infos.append("MPS")
mem.append(32) # 修改成显存大小,默认大约是系统内存大小的2/3,这个是用于计算batch size的,其实不改也没事,webUI可手动调
1. 创建 Conda 环境:
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
1. 定位到项目目录:cd 你的项目路径
2. 安装依赖:pip install -r requirements.txt
3. 安装特定版本的ASR依赖。最新版本的funasr依赖改了,打标时会出错,所以安装此版本:pip install
funasr==0.8.7
4. 安装nightly版本pytorch,2.1.2实测会出错:pip3 install --pre torch torchvision
torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
5. 如果没有安装ffmpeg,安装它:brew install ffmpeg
6. 运行webUI即可:python webui.py
*基本上大部分webUI内的功能都可使用MPS运行,不过有几个例外:*
1. UVR5 webui是使用CPU进行的,可以前往原项目地址
<https://github.com/Anjok07/ultimatevocalremovergui>
下载Mac最新版本GUI,勾选GPU运行,速度会更快一点,可选功能也会更多。
2. ASR功能由于使用阿里的依赖进行,更改成mps比较麻烦,不过CPU速度也快的。
3. 我在代码中默认开启了PYTORCH_ENABLE_MPS_FALLBACK=1,遇到mps不支持的功能时自动使用cpu运行。
*已知问题:存在内存泄漏,主要体现在推理时,多次推理后可能导致内存占用很高,暂时不知道如何解决。不过大体上不太影响,重启推理UI可以释放内存。*
*修改过程主要就是对所有分布式训练的代码进行更改,因为mps上不需要也不支持分布式训练。*
*代码改动较复杂,之后如果可能,我会尝试给作者提交PR。* *这是我目前为止用过的效果最好的TTS项目,非常感谢作者开源!*
*如果有任何问题或建议欢迎提出*
请问大佬可以出一个新版本吗?这个已经成功在Mac Studio使用GPU了.速度翻倍,非常感谢
使用仓库最新代码就行了,不过现在使用mps加速第一有内存泄漏,第二训练出来的模型生成的声音是很差的,所以我们暂时使用CPU,等pytorch
mps优化好后再使用GPU加速。
—
Reply to this email directly, view it on GitHub
<#93 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A2DSWRXJCK7CIMNXEME2NFDYY6VR3AVCNFSM6AAAAABCCR5YGWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBVGY4DENRUGE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
本教程已过时,请参照Lion-Wu的教程,目前已经支持MPS训练和推理: #93 (comment)
Mac 训练比较困难,mps训练目前没测试成功,本地推理和预处理是可以的,效果挺不错,(稍微有吞字问题),感谢作者开源!
推理
文件可以在Colab或者云服务商上训练然后把模型下载下来
整合包参考:#4
1.首先需要先把webui跑起来
2.点Allow到浏览器打开
3. 选好GPT模型和SOVITS 模型
点击
是否开启TTS推理WebUI
这个时候可能会报错,需要修改
GPT_SoVITS/inference_webui.py
用CPU推理4. 需要改两个地方
model.half()
--->model.float()
修改好保存然后重新运行下就可以运行了。
参考文件:https://github.com/RoversX/GPT-SoVITS/blob/main/GPT_SoVITS/inference_webui.py
预处理
https://github.com/RoversX/GPT-SoVITS/tree/main/GPT_SoVITS/prepare_datasets
替换文件夹下面的文件
主要就是改成
device="cpu"
参考:
#61
English Version will be provided on myblog
The text was updated successfully, but these errors were encountered: