Parler-tts适配昇腾开源验证任务心得

举报
huyanbo 发表于 2024/11/26 11:04:57 2024/11/26
【摘要】 Parler-TTS 是一个完全开源的文本到语音转换项目,本文是把该模型适配到昇腾npu并进行推理的心得以及操作过程

Parler-tts适配昇腾开源验证任务心得

 

首先看了一下任务计划书:https://bbs.huaweicloud.com/blogs/437807主要目的是将 parler-tts 项目适配至华为的 Ascend(昇腾)和 Kunpeng(鲲鹏)处理器,确保其在这些硬件平台上的高效运行,也就是说验证parler-tts 能不能在使用Ascend(昇腾)运行。

开发过程

明确目的后开始熟悉模型,parler-tts github网址:https://github.com/huggingface/parler-tts 。为了方便后续使用,我把代码库中的代码文件fork到了我自己的代码仓库,代码仓库的README文件有模型的下载链接,也可以去常用的模型仓库网站寻找模型然后下载,比如huggingface和魔塔社区。

我是在魔塔社区下载的模型。先使用:pip install modelscope 安装modelscope,然后使用:modelscope download --model AI-ModelScope/parler_tts_mini_v0.1 --local_dir ./dir把模型下载到当前文件夹。

cpu推理:

推理代码:

我先在鲲鹏处理器、欧拉操作系统的弹性服务器上进行的测试,官方在README文件里给出了推理代码,我们只需把模型地址和分词器地址改为我们的模型地址,再把prompt的固定内容改为prompt=(“user:”)就可以用用户交互的方式使用模型进行文本转语音的操作。

安装依赖:

官方也给出了下载模型依赖的方法,运行:

pip install git+https://github.com/huggingface/parler-tts.git

 就可以把模型的依赖下载下来。我在运行时遇到一个大坑:运行完github给的安装库指令,运行代码时它会提示import soundfile失败,因为没找到libsndfile.os文件

我使用的CentOS系统,使用

yum install libsndfile

命令安装这个文件时他会继续报错:

Error: Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

,说是镜像源里找不到这个文件,网页上也没找到解决办法,这个时候只要运行:

sudo yum --disablerepo=docker-ce-stable install libsndfile

就可以下载了,这个命令意味着 yum 在搜索和安装 libsndfile 时不会考虑 docker-ce-stable 仓库中的任何包或依赖项。解决之后就可以运行代码使用模型了。


编写推理代码在NPU推理模型:

官方并没有直接提供parler-tts的推理代码,需要自己编写,可以参考:https://gitcode.com/huyanbo/parler-tts/overview

创建python虚拟环境运行官方给出的模型依赖安装命令:

pip install git+https://github.com/huggingface/parler-tts.git

,然后再安装numpy(先安装numpypytorch的话,运行完官方给出的模型以来安装命令numpypytoch的版本会被改变,做成后续的模型依赖冲突,本人numpy版本1.23.5,建议先使用官方模型依赖安装命令,再安装numpy,再去安装pytorch)。

使用NPU推理模型需要安装pytorchCANNtorch_npu,版本要相对应,还要额外安装psutil库和attrs库。

先安装CANN,参考:https://www.hiascend.com/zh/developer/download/community/result?module=cann

安装pytorch的cpu版本:https://pytorch.org/  pip安装代码:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

torch_npu的安装参考:https://github.com/Ascend/pytorch/blob/master/README.zh.md

 

依赖安装完成后,就可以运行推理代码文件实现模型的使用。

 

1       验收材料


验证DEMO地址: https://gitcode.com/huyanbo/parler-tts/overview


 

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       测试结果

此模型是文本转语音模型,部署完成后运行代码可以输入想转换成语音的文字,模型会将其转换为对应的语音文件,可以下载播放。

Cpu推理


生成文件


下载后正常播放,语音内容和文字一样

Npu推理

运行程序前


运行程序后


我编辑npu时指定了npu编号为4,可以看到npu4已经在运行了。

推理结果:


输入文字


产生的文件


下载后正常播放,语音内容和文字一样

 

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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