YuE本地部署完整教程,可用于ai生成音乐,歌曲

YuE 本地部署教程

注意:需要挂梯子
这里用到的python版本是 3.12.7

1.安装Anaconda

官网地址
在这里插入图片描述
下载直接安装,这里选择第一个
在这里插入图片描述
这里打勾1,2,3即可
在这里插入图片描述

安装完成,执行

conda --version

在这里插入图片描述
安装完成

2.YuE-exllamav2本地部署

(1)拉取项目代码

git clone https://github.com/sgsdxzy/YuE-exllamav2

创建虚拟环境

python -m venv myevnv

进入虚拟环境

myevnv\Scripts\activate

在这里插入图片描述
这样说明已经进去了

安装exllamav2,flash-attn依赖

pip install exllamav2
pip install flash-attn
flash-attn 坑解决

安装flash-attn大概率会报错,这边建议手动去安装,如果没报错当我没说
看清楚对应的python版本和torch版本cuda版本

python
import torch # 如果pytorch安装成功即可导入
print(torch.__version__)

在这里插入图片描述
这我这个torch是2.6.0的,
然后查看cuda版本
点击桌面,右键鼠标 选择 NVIDIA 控制面板 打开
在这里插入图片描述
点帮助->系统信息->组件
在这里插入图片描述
我这里的cuda版本是12.6,但没有12.6,我就选择124
在这里插入图片描述
然后复制到当前的目录,然后安装

pip install flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp312-cp312-win_amd64.whl

安装即可

exllamav2 坑解决

安装flash-attn大概率会报错,这边建议手动去安装,如果没报错当我没说
看清楚对应的python版本和torch版本cuda版本
elxllamav2下载地址
在这里插入图片描述
看清楚自己版本,进行下载
然后复制到当前的目录,然后安装

pip install exllamav2-0.2.8+cu124.torch2.6.0-cp312-cp312-win_amd64.whl

安装即可

进入主目录
cd YuE-exllamav2

先打开YuE-exllamav2里面的requirements.txt文件,修改scipy,scipy==1.10.1 改成 scipy>=1.10.1
在这里插入图片描述

然后保存,安装依赖

pip install -r requirements.txt
安装xcodec_mini_infer
git lfs install
git clone https://huggingface.co/m-a-p/xcodec_mini_infer

这里网络非常容易导致下载不下来,多下几次或者切节点,在或者手动下载

模型下载

然后下载两个模型,如果下载不下来去手动下载

git clone https://huggingface.co/Doctor-Shotgun/YuE-s1-7B-anneal-en-cot-exl2/tree/4.25bpw-h6
或者
git clone -b 4.25bpw-h6 https://huggingface.co/Doctor-Shotgun/YuE-s1-7B-anneal-en-cot-exl2 #我是这样装上的
git clone https://huggingface.co/Doctor-Shotgun/YuE-s2-1B-general-exl2/tree/8.0bpw-h8
或者
git clone -b 8.0bpw-h8 https://huggingface.co/Doctor-Shotgun/YuE-s2-1B-general-exl2 #我是这样装上的

然后就可以跑程序的
这里先确认一下,2个模型和xcodec_mini_infer都是放在YuE-exllamav2主目录上面
这样的话,就可以启动命令了
在这里插入图片描述
启动命令,启动命令记得空格不要多敲,记得检查下

python src/yue/infer.py --stage1_model "你当前目录\YuE-s1-7B-anneal-en-cot-exl2" --stage2_model "你当前目录\YuE-s2-1B-general-exl2" --stage1_use_exl2 --stage2_use_exl2 --stage2_cache_size 32768 --genre_txt prompt_egs\genre.txt --lyrics_txt prompt_egs\lyrics.txt

下面是的我的例子

python src/yue/infer.py --stage1_model "E:\aidata\ai\YuE-exllamav2\model\YuE-s1-7B-anneal-en-cot-exl2" --stage2_model "E:\aidata\ai\YuE-exllamav2\model\YuE-s2-1B-general-exl2" --stage1_use_exl2 --stage2_use_exl2 --stage2_cache_size 32768 --genre_txt prompt_egs\genre.txt --lyrics_txt prompt_egs\lyrics.txt

然后就等待就可以生成音乐了,音乐文件放在根目录的output文件夹里面,点进去能看见有一个mp3 文件
注意:模型的文件名字要确保正常,不然找不到模型就直接报错误了我这边就漏写-exl2,反正得确定模型名称,上面两个git命令,拉下来的模型名称有可能不一致,注意路径和名字即可
在这里插入图片描述
生成完成的图片
在这里插入图片描述

然后这里还有坑,triton报错

出现 No module named ‘triton‘
原因是现Triton不支持Windows,所以找已编译的Windows二进制文件进行安装
triton下载地址
在这里插入图片描述
这里自己选一个合适自己的,
等待下载完成
放在根目录上
执行命令

pip install triton-3.0.0-cp312-cp312-win_amd64.whl

安装完成即可
然后重新启动命令,程序即可跑起来

python src/yue/infer.py --stage1_model "你当前目录\YuE-s1-7B-anneal-en-cot-exl2" --stage2_model "你当前目录\YuE-s2-1B-general-exl2" --stage1_use_exl2 --stage2_use_exl2 --stage2_cache_size 32768 --genre_txt prompt_egs\genre.txt --lyrics_txt prompt_egs\lyrics.txt

文件描述

路径 prompt_egs\genre.txt,这个是用于正面描述词,比如轻音乐,摇滚等描述词的输入
路径 prompt_egs\lyrics.txt,这个是用于正输入歌词
路径 output\mixed.mp3,生成出来的mp3文件

中文歌词生成

这里需要更改文件src\yue\infer_stage1.py
在这里插入图片描述
加入[ ,“r”, encoding=“utf-8” ] 即可

with open(args.genre_txt, "r", encoding="utf-8") as f:
        genres = f.read().strip()
with open(args.lyrics_txt, "r", encoding="utf-8") as f:
        lyrics = f.read().strip()

总结

使用下来的总结,英文风格感觉还是很可以的,中文的生成效果就一般般了,可能是因为我没有调整中文描述词,总之这个项目也终于跑起来了,刚刚开始跑这个项目的时候,各种依赖版本冲突,各种各样的报错,真给我整麻了,即使使用虚拟环境都感觉行不通,后面一气之下直接把全部的pip的全局依赖全部删除,重新安装,静下心来,分析一个又一个的报错,扔到deepseek,百度去找解决方法,说起来也搞笑关于YuE的文章,全部网加起来都不够四页的文章,跟着他们的教程走,一步一步来,但是最后都是发现跑不起来,哎,特别还有就是这xcodec_mini_infer下载真的吐了,根本就拉不下来,但过了段时间,切了个节点莫名其妙又可以拉了,后续这个功能大概率我也会集成到ollama-chat-ui-vue 这个纯前端vue3的开源项目上面去,下一步的方向应该是往数字人或者定制模型(炼丹)在或者知识库那边研究了,天哪头发又要秃了

相关教程

Stable Diffusion vue本地api接口对接,模型切换, ai功能集成开源项目 ollama-chat-ui-vue

ollama-chat-ui-vue,一个可以用vue对接ollama的开源项目,可接入deepSeek

deepSeek本地部署,详细教程,Ollama安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值