• 玩玩“小藤”开发者套件 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
    
    • 1
    #sudo apt-get install portaudio19-dev
    
    • 1

    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 <
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    3. 创建虚拟环境

    conda create -n talk python==3.9 -y
    conda activate talk
    
    • 1
    • 2

    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())"
    
    • 1

    安装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
    
    • 1
    • 2
    • 3

    获取安装包,

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

    安装PyTorch,

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

    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
    
    • 1

    执行如下命令安装,

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

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

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

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

    pip3 install torchvision==0.15.2
    
    • 1

    6. 安装APEX混合精度模块

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

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

    pip install --upgrade pip setuptools==57.5.0
    
    • 1

    安装依赖,

    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 
    
    • 1

    获取昇腾适配的APEX源码,

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

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

    
    vi scripts/build.sh
    ---
    # PY_VERSION='3.7'
    PY_VERSION='3.9'
    ---
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    cd apex
    bash scripts/build.sh
    
    • 1
    • 2

    执行如下命令安装,

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

    7. 安装依赖库

    执行如下命令安装,

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

    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)
    
    • 1
    • 2

    9. 访问智能语音助手

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

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

    在这里插入图片描述

    完结!

  • 相关阅读:
    Scratch软件编程等级考试一级——20201219
    IGBT厂商扩产,APS生产排产帮助企业充分利用设备产能
    PFSK164 3BSE021180R1 有源滤波器和无源滤波器的主要区别
    darknet框架 训练分类模型及测试图片
    【 React 】对React refs的理解?应用场景?
    【电商运营】不知道怎么做网站优化?这里有你需要知道的一切!
    SVN创建分支
    JSP工作原理
    ai-agent1-概念
    基于 nodejs+vue城市轨道交通线路查询系统mysql
  • 原文地址:https://blog.csdn.net/engchina/article/details/133067803