ChatTTS 适配昇腾开源验证任务心得
ChatTTS 适配昇腾开源验证任务心得
根据任务计划书(https://bbs.huaweicloud.com/blogs/437824)了解任务内容,主要目的是将 ChatTTS项目适配至华为的 Ascend(昇腾),确保其在昇腾上能够正常运行,并完成文字转语音的功能验证。
开发过程
明确目的后开始熟悉模型,ChatTTS的github网址:https://github.com/2noise/ChatTTS 把ChatTTS项目从github上用git拉取下来。
鲲鹏、OpenEuler 验证推理
(1)安装依赖包
根据https://github.com/2noise/ChatTTS提示安装,使用pip install -e .,将会下载安装torch、torchaudio等库。
(2)运行推理脚本
实例:Python3 run.py “xxx” ”xxx”,运行时可能提示缺少某些库,按照提示安装即可。
NPU验证推理
(1)安装依赖包
NPU上需要CANN、torch_npu、pytorch
先安装CANN,参考:
https://www.hiascend.com/zh/developer/download/community/result?module=cann。
torch_npu的安装参考:https://github.com/Ascend/pytorch/blob/master/README.zh.md。
注:torch_npu、torch、torchaudio均下载2.1版本,其余依赖在运行脚本时,可能会报错一些依赖找不到,按照提示下载即可。
(2)修改推理代码
涉及修改的代码包括run.py、core.py、gpt.py。
将拉取下来的推理代码run.py复制一份并重命名为run_npu.py,修改如下(右边是修改过的):
修点1:导入torch_npu相关库
修改2:为了在命令行可以指定device而添加
修改3:主函数中对应写入
core.py脚本,修改如下:
修改1:导入torch_npu相关库
修改2:优先选择为NPU设备并在终端显示
修改3:由于vocos不支持在NPU上计算,将其固定在CPU上计算
gpt.py脚本,修改如下:
修改1:将它改为NPU支持的形式
1 资源清单
产品名称 |
CPU架构 |
实例类型 |
公共镜像 |
镜像版本 |
备注 |
弹性云服务器 |
鲲鹏计算 Kunpeng-920 |
鲲鹏通用计算增强型kc1 |
Huawei Cloud EulerOS |
Huawei Cloud EulerOS 2.0 Arm 64bit sdi5 for ECS BareMetal With Uniagent(150GiB) |
推荐 |
产品名称 |
NPU架构 |
CPU架构 |
操作系统 |
云堡垒机 |
Ascend 910B3
|
鲲鹏计算 Kunpeng-920 |
Huawei Cloud EulerOS 2.0 (aarch64) |
2 验证截图
2.1验证思路
从github上拉取ChatTTS仓库,分别在CPU、NPU搭建必需的环境和安装相关依赖,之后在项目的example中找到合适的验证脚本进行验证,命令行输入需要转语音的文本,运行后生成对应的语音文件,可下载播放。
2.2 CPU推理结果
运行代码:
显示运行在CPU上:
生成语音结果:
3.3 NPU推理结果
运行代码:
显示运行在NPU上:
生成语音结果,并播放:
程序运行前:
程序运行后:
- 点赞
- 收藏
- 关注作者
评论(0)