ChatTTS 适配昇腾开源验证任务心得

举报
hlc 发表于 2024/11/21 17:16:18 2024/11/21
【摘要】 ChatTTS 适配昇腾开源验证任务心得根据任务计划书(https://bbs.huaweicloud.com/blogs/437824)了解任务内容,主要目的是将 ChatTTS项目适配至华为的 Ascend(昇腾),确保其在昇腾上能够正常运行,并完成文字转语音的功能验证。开发过程明确目的后开始熟悉模型,ChatTTS的github网址:https://github.com...

ChatTTS 适配昇腾开源验证任务心得

根据任务计划书https://bbs.huaweicloud.com/blogs/437824了解任务内容,主要目的是将 ChatTTS项目适配至华为的 Ascend(昇腾)确保其在昇腾上能够正常运行,并完成文字转语音的功能验证。

开发过程

明确目的后开始熟悉模型,ChatTTSgithub网址:https://github.com/2noise/ChatTTS ChatTTS项目从github上用git拉取下来

鲲鹏、OpenEuler 验证推理

1)安装依赖包

根据https://github.com/2noise/ChatTTS提示安装,使用pip install -e .,将会下载安装torchtorchaudio等库。

(2)运行推理脚本

实例:Python3 run.py xxx xxx,运行时可能提示缺少某些库,按照提示安装即可。

NPU验证推理

1)安装依赖包

NPU上需要CANNtorch_npupytorch

先安装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_nputorchtorchaudio均下载2.1版本,其余依赖在运行脚本时,可能会报错一些依赖找不到,按照提示下载即可。

2)修改推理代码

涉及修改的代码包括run.pycore.pygpt.py

将拉取下来的推理代码run.py复制一份并重命名为run_npu.py,修改如下(右边是修改过的):

修点1:导入torch_npu相关库

44.png

修改2:为了在命令行可以指定device而添加

图片27.png

修改3:主函数中对应写入

图片18.png

core.py脚本,修改如下:

修改1:导入torch_npu相关库

111.png

修改2:优先选择为NPU设备并在终端显示

图片2.png

修改3:由于vocos不支持在NPU上计算,将其固定在CPU上计算

图片3.png

gpt.py脚本修改如下:

修改1:将它改为NPU支持的形式

图片16.png

1 验收材料

1.1 交付件清单

1开源软件fork地址:不涉及

2开源软件修改记录(可以有多个修改记录):不涉及

3推送上游社区PR(包括代码、文档、可以有多个):不涉及

4验证DEMO地址:https://gitcode.com/hlc0101/ChatTTS/blob/main/README.md

5验证DEMO修改记录(可以有多个修改记录,只包含和本任务验证强相关的提交记录,比如添加依赖、增加配置文件、演示开源软件功能使用的代码等):无

6博客地址:https://bbs.huaweicloud.com/blogs/440105

验收细则

评分说明

是否为验收必选项

结果(通过/不通过)

验证举证

功能开发:完成与华为三大根技术生态(鲲鹏云、昇腾云、鸿蒙)适配的功能开发和验证。

基于鲲鹏、昇腾和Euler系统完成验证。

 

4)(6

代码质量:适配华为三大根技术生态的代码质量经过工具检测达标

推送给开源社区的代码符合开源社区关于代码风格、功能、自动化测试等要求。

 

 

提供相关文档,比如部署文档、使用文档、配置文档等

根据社区要求,完善相关的开发指南和部署指导

 


合入到开源项目主仓:代码推送上游社区

代码合并到当前主干分支。举证提供代码仓库链接。

 

 

Deomo设计&开发:完成功能演示Demo的开发

举证提供DEMO前端地址

 

4

Demo部署&验证:完成功能演示DEMO基于华为昇腾、鲲鹏和Euler系统环境的部署和功能验证

提供DEMO部署验证结果的关键截图进行举证。提供DEMO运行环境和资源的规格清单。

 

参考资源清单和验证截图。

发布博客:发布博客介绍适配心得。

提供博客的地址。

 

6

制作单机版无高危开源镜像。

上架云商店。

 

 

单机版镜像上架时支持模板部署。

 

 

 

制作集群版无高危开源镜像

上架云商店。

 

 

集群版镜像上架时支持模板部署

 

 

 

 

2 资源清单

产品名称

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)

 

3 验证截图

3.1验证思路

github上拉取ChatTTS仓库,分别在CPUNPU搭建必需的环境和安装相关依赖,之后在项目的example中找到合适的验证脚本进行验证,命令行输入需要转语音的文本,运行后生成对应的语音文件,可下载播放。

3.2 CPU推理结果

运行代码:

FE3ABADC-AC9A-4939-B6CF-3A931AD09320.PNG

显示运行在CPU上:

34.PNG

生成语音结果:

111111.PNG      123.PNG      345.PNG

3.3 NPU推理结果

运行代码:

1111.PNG

显示运行在NPU上:

图片23.png

生成语音结果,并播放:

图片24.png    111.PNG   214294B1-938A-479C-B2DA-D599910F9C29.PNG

程序运行前:

图片14.png

程序运行后:

图片25.png

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。