本镜像内置了适配(并优化)于昇腾平台的 CosyVoice2 代码和 CosyVoice2-0.5B 权重,用户仅通过几行命令便可进行 CosyVoice2 在昇腾平台的高效推理。
| 服务器 | 910B2*1 |
|---|---|
| 权重类型 | OM |
| 固件驱动版本 | 23.0.5.1及以上 |
docker load --input ./cosyvoice2-modelzoo.tar.gzCONTAINER_NAME = "your container name"
IMAGE = "your image name"
docker run \
--name $CONTAINER_NAME \
--privileged \
--device /dev/davinci1 \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-it $IMAGE bashdocker exec -it $CONTAINER_NAME bash** 注:以下部分需要在容器内执行
cd /home/ModelZoo-PyTorch/ACL_PyTorch/built-in/audio/CosyVoice2/CosyVoice在执行 atc 命令前,首先为 atc 创建一个 python3-config --prefix 命令的软链接
ln -s /usr/local/python3.11.13/bin/python3.11-config /usr/local/python3.11.13/bin/python3-config分别执行以下三条命令 (注意:NPU芯片型号为 910B3 不需要再执行,权重文件夹内已预置转好的 om 权重)
atc --framework=5 --soc_version=Ascend{soc version} --model ../CosyVoice2-0.5B/speech_token_md.onnx --output ../CosyVoice2-0.5B/speech --input_shape="feats:1,128,-1;feats_length:1" --precision_mode allow_fp32_to_fp16
atc --framework=5 --soc_version=Ascend{soc version} --model ../CosyVoice2-0.5B/flow.decoder.estimator.fp32.onnx --output ../CosyVoice2-0.5B/flow --input_shape="x:2,80,-1;mask:2,1,-1;mu:2,80,-1;t:2;spks:2,80;cond:2,80,-1"
atc --framework=5 --soc_version=Ascend{soc version} --model ../CosyVoice2-0.5B/flow.decoder.estimator.fp32.onnx --output ../CosyVoice2-0.5B/flow_static --input_shape="x:2,80,-1;mask:2,1,-1;mu:2,80,-1;t:2;spks:2,80;cond:2,80,-1" --dynamic_dims="100,100,100,100;200,200,200,200;300,300,300,300;400,400,400,400;500,500,500,500;600,600,600,600;700,700,700,700" --input_format=ND其中 {soc version} 要根据自己的硬件类型填写,执行 npu-smi info 命令,在出现的界面中,name 列即为芯片型号,如:910B3,910B4等,因此 {soc version} 处用查找出的 name 列替换。以 910B3 为例完整的参数为:--soc_version=Ascend910B3
# 1. 指定使用NPU ID,默认为0
export ASCEND_RT_VISIBLE_DEVICES=0
# 2. 设置环境变量。执行前,课前检查环境变量是否已存在,已存在则不需要执行
export PYTHONPATH=third_party/Matcha-TTS:$PYTHONPATH
export PYTHONPATH=transformers/src:$PYTHONPATH
# 3. 执行推理脚本
python3 infer.py --model_path=../CosyVoice2-0.5B --stream_out