玩玩“小藤”开发者套件 Atlas 200I DK A2 之部署智能语音助手

在这里插入图片描述

0. 背景

总所周知,英伟达的GPU供不应求,还各种限制。华为推出了升腾AI可以提供AI算力,那就玩玩“小藤”开发者套件 Atlas 200I DK A2 学习学习。

今天就在Atlas 200I DK A2 部署我自己开发的智能语音助手。

智能语音助手代码还未开放。

1. 安装 flac

flac 是一种无损音频压缩格式,全称是 Free Lossless Audio Codec(自由无损音频编码)。

sudo apt-get install flac
#sudo apt-get install portaudio19-dev

2. 创建自签名证书

我的 IP 是 192.168.31.160,

mkdir -p /u01/certs; cd /u01/certs
openssl genrsa -des3 -passout pass:123456 -out ca.key 2048
openssl rsa -in ca.key -passin pass:123456 -out ca.key
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt -subj "/CN=myserver.local"
openssl genrsa -out tls.key 2048
openssl req -new -key tls.key -out tls.csr -subj "/CN=myserver.local"
cat > server.ext <<EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = *.myserver.local
DNS.2 = *.oracle.myserver.local
DNS.3 = 192.168.31.160
EOF

openssl x509 -req -in tls.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out tls.crt -days 3650 -extfile server.ext

3. 创建虚拟环境

conda create -n talk python==3.9 -y
conda activate talk

4. 安装PyTorch

我一开始尝试安装 PyTorch 1.11.0 版本,但是执行下面命令总是报错,后来选择安装 PyTorch 2.0.1 版本是可以执行成功的。所以本文章里以安装 PyTorch 2.0.1 版本进行说明。

python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"

安装PyTorch环境依赖,

pip3 install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install wheel -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install typing_extensions -i https://pypi.tuna.tsinghua.edu.cn/simple

获取安装包,

wget https://download.pytorch.org/whl/torch-2.0.1-cp39-cp39-manylinux2014_aarch64.whl

安装PyTorch,

pip3 install torch-2.0.1-cp39-cp39-manylinux2014_aarch64.whl

5. 安装 PyTorch 插件 torch_npu

获取PyTorch插件的whl包,

wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc2-pytorch2.0.1/torch_npu-2.0.1rc1-cp39-cp39-linux_aarch64.whl

执行如下命令安装,

pip3 install torch_npu-2.0.1rc1-cp39-cp39-linux_aarch64.whl

执行如下命令,若返回True则说明安装成功。

python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"

在这里插入图片描述
安装对应框架版本的torchvision,

pip3 install torchvision==0.15.2

6. 安装APEX混合精度模块

混合精度训练是在训练时混合使用单精度(float32)与半精度(float16)数据类型,将两者结合在一起,并使用相同的超参数实现了与float32几乎相同的精度。在迁移完成、训练开始之前,基于NPU芯片的架构特性,用户需要开启混合精度,可以提升模型的性能。APEX混合精度模块是一个集优化性能、精度收敛于一身的综合优化库,可以提供不同场景下的混合精度训练支持。

由于 pep-0440,我们重新安装特定版本的 setuptools,

pip install --upgrade pip setuptools==57.5.0

安装依赖,

apt-get install -y patch build-essential libbz2-dev libreadline-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev m4 dos2unix libopenblas-dev git 

获取昇腾适配的APEX源码,

git clone -b master https://gitee.com/ascend/apex.git

因为我使用的是 3.9 版本,修改 scripts/build.sh 中 PY_VERSION 的版本号为 3.9,


vi scripts/build.sh
---
# PY_VERSION='3.7'
PY_VERSION='3.9'
---

进入昇腾适配的APEX源码目录,执行命令编译生成二进制安装包,

cd apex
bash scripts/build.sh

执行如下命令安装,

pip3 install apex/dist/apex-0.1_ascend-cp39-cp39-linux_aarch64.whl

7. 安装依赖库

执行如下命令安装,

pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

8. 使用 gradio 启动智能语音助手

# Launch the Gradio interface
demo.launch(server_name="0.0.0.0", ssl_keyfile="/u01/certs/tls.key", ssl_certfile="/u01/certs/tls.crt", ssl_verify=False)

9. 访问智能语音助手

使用浏览器打开 https://192.168.31.160:7860

在这里插入图片描述
说一句话,智能语音助手,会自动给我们语音回复。比如,“告诉我武松打虎的故事”。

在这里插入图片描述

完结!

猜你喜欢

转载自blog.csdn.net/engchina/article/details/133067803