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

news2025/2/28 3:53:04

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

  • 0. 背景
  • 1. 安装 flac
  • 2. 创建自签名证书
  • 3. 创建虚拟环境
  • 4. 安装PyTorch
  • 5. 安装 PyTorch 插件 torch_npu
  • 6. 安装APEX混合精度模块
  • 7. 安装依赖库
  • 8. 使用 gradio 启动智能语音助手
  • 9. 访问智能语音助手

在这里插入图片描述

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,

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

在这里插入图片描述

完结!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1027023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

和逸云 RK3229 如何进入maskrom强刷模式

图中红圈两个点短接以后插usb&#xff0c;就可以进入maskrom模式强刷

【JavaEE】多线程(四)

多线程&#xff08;四&#xff09; 在开始讲之前&#xff0c;我们先来回顾回顾前三篇所讲过的内容~ 线程的概念 并发编程&#xff0c;多进程&#xff0c;比较重&#xff0c;频繁创建销毁&#xff0c;开销大 Thread的使用 创建线程 继承Thread实现Runnable继承Thread&#xff…

提交本地项目到GitHub

文章目录 1 下载git1.1 通过homebrew安装Git1.2 通过Xcode安装 2 创建ssh key、配置git3 提交本地项目到GitHub 说明&#xff1a;该博文参考这篇文章和这段视频 1 下载git 1.1 通过homebrew安装Git 1、未安装homebrew&#xff0c;需安装homebrew /usr/bin/ruby -e "$(…

踩坑:Invalid character found in method name. HTTP method names must be tokens

一、原因 在进行本地小程序与服务端请求时,由于加了签名认证,访问接口时报错 Spring boot端 小程序端 二、解决方案 2.1 更改访问路径 将https:更换成http: 示例:https://localhost:8080 改为 http://localhost:8080 2.2其他原因 ssl证书到期了Tomcat的header缓冲区大小不…

使用docker-compose 部署 MySQL8.0

目录 一、拉取MySQL镜像二、创建挂载目录三、添加配置文件my.cnf &#xff08;没有特殊需求可以跳过&#xff09;四、编写 docker-compose.yml 文件五、启动容器六、运行后查看启动容器的情况七、连接测试 一、拉取MySQL镜像 我这里使用的是MySQL8.0.18&#xff0c;可以自行选…

pycharm 中package, directory, sources root, resources root的区别

【遇到的问题】 导入yolov5中有utils文件&#xff0c;自己的代码中也有utils文件&#xff0c;使得yolov5中的这部分引用出错了。 【解决方案】 单独建立detection文件夹&#xff0c;把检测相关的都放在这里&#xff0c;yolov5是github上拉取的源码&#xff0c;发现yolov5中fr…

用于设计 CNN 的 7 种不同卷积

一 说明 最近对CNN架构的研究包括许多不同的卷积变体&#xff0c;这让我在阅读这些论文时感到困惑。我认为通过一些更流行的卷积变体的精确定义&#xff0c;效果和用例&#xff08;在计算机视觉和深度学习中&#xff09;是值得的。这些变体旨在保存参数计数、增强推理并利用目标…

scryptTS 新版本发布

scryptTS新版本发布&#xff0c;主要带来两个新特性。 您需要使用以下版本来体验&#xff1a; "dependencies": {"scrypt-ts": "0.1.5-beta.2" },1. scryptTS 中隐藏了交易原像 OP_PUSH_TX 技术 使用 OP_PUSH_TX 可以让合约代码访问整个 trans…

解决:Android Studio 中sdk tools 中库显示不全的问题

问题描述 如下图&#xff0c;打开配置后显示不全 解决方案 这是网络问题&#xff0c;由于Android Studio是goolge旗下的产品&#xff0c;多少需要向外访问 通过更改hosts文件即可&#xff0c;用记事本打开&#xff0c;末尾添加如下三行 203.208.43.97 dl.google.com 20…

1.3python基础语法——PyCharm

1&#xff09;PyCharm的作用 python的集成开发环境&#xff0c;功能如下&#xff1a; Project管理 智能提示 语法高亮 代码跳转 调试代码 解释代码(解释器) 框架和库 2&#xff09;下载与安装 下载地址&#xff1a;http://www.jetbrains.com/pycharm/download/#sectionwind…

flash attention的CUDA编程和二维线程块实现softmax

本文参考了链接添加链接描述 flash attention介绍 flash attention的介绍可以参考论文:FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness,具体的数学公式参考下面这个图片:其中注意关于矩阵S有两个维度,softmax的操作维度是dim=1,用pytorc…

python 全网最优雅命令行参数解析, 没有之一

背景 我们在编写python程序时&#xff0c;程序中经常会提供多种功能或者模式&#xff0c;在实际使用时根据不同的参数使用不同的功能。那么如何获取命令行传入进来的参数呢&#xff1f; 一般方法 一般情况下&#xff0c;我们会使用 sys 模块&#xff0c;如&#x1f447; im…

Python - 小玩意 - 请求网络地址获取网页链接

from bs4 import BeautifulSoup from urllib import request # 要请求的网络地址 url https://blog.csdn.net/qq_43116031/ # pip --default-timeout500000 install bs4 # 请求网络地址得到html网页代码 html request.urlopen(url)# 整理代码 soup BeautifulSoup(html, html…

深度学习论文: ISTDU-Net:Infrared Small-Target Detection U-Net及其PyTorch实现

深度学习论文: ISTDU-Net&#xff1a;Infrared Small-Target Detection U-Net及其PyTorch实现 ISTDU-Net&#xff1a;Infrared Small-Target Detection U-Net PDF: https://doi.org/10.1109/LGRS.2022.3141584 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTo…

GPT,GPT-2,GPT-3,InstructGPT的进化之路

ChatGPT 火遍圈内外&#xff0c;突然之间&#xff0c;好多人开始想要了解 NLP 这个领域&#xff0c;想知道 ChatGPT 到底是个什么&#xff1f;作为在这个行业奋斗5年的从业者&#xff0c;真的很开心让人们知道有一群人在干着这么样的一件事情。这也是我结合各位大佬的文章&…

MTK联发科MT6853和MT6873安卓核心板性能参数对比

联发科MTK6853芯片&#xff0c;又名天玑720&#xff0c;是一款具有先天的节能创新的5G芯片。天玑800&#xff08;MTK6873&#xff09;和天玑720二款处理器都是使用于中高端手机中&#xff0c;那么天玑720和天玑800处理器到底哪个更好呢&#xff1f; 1、处理器性能对比 天玑7…

系统架构设计师(第二版)学习笔记----系统分析与设计及测试

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----软件测试 文章目录 一、结构化方法1.1 结构化开发方法1.2 结构化分析使用的手段1.3 结构化分析的步骤1.4 数据流图&#xff08;DFD&#xff09;的基本元素1.5 数据流图&#xff08;DFD&#xff09;方法建…

【LeetCode-中等题】429. N 叉树的层序遍历

文章目录 题目方法一&#xff1a;二叉树的层序遍历的扩展 题目 方法一&#xff1a;二叉树的层序遍历的扩展 思路和二叉树的层序遍历一样&#xff0c;这一题的关键在于取出每个节点的孩子 for(int j 0;j<root.children.size();j)//取出所有当前节点的所有孩子节点放到队列…

谷歌版ChatGPT与旗下邮箱、视频、地图等,实现全面集成!

9月20日&#xff0c;谷歌在官网宣布推出Bard Extensions。借助该扩展用户可在谷歌的Gmail、谷歌文档、网盘、Google 地图、视频等产品中使用Bard。 Bard是谷歌基于PaLM 2大模型&#xff0c;打造的一款类ChatGPT产品&#xff0c;可自动生成文本、代码、实时查询信息等。新的集成…

JVM——7.类加载与类加载器

这篇文章我们来学习一下类加载及其相关内容 目录 1.概述 2.类加载时机 3.类加载过程 3.1加载 3.2验证 3.2.1文件格式验证 3.2.2.元数据验证 3.2.3字节码验证 3.2.4符号引用验证 3.3准备 3.4解析 3.5初始化 4.类加载器 4.1类与类加载器 4.2双亲委派模型 4.3破坏…