昇腾CANN应用的运行环境部署

2024-01-04 07:32
文章标签 部署 应用 运行 环境 cann

本文主要是介绍昇腾CANN应用的运行环境部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

昇腾CANN应用的运行环境部署

整体步骤是:Driver——nnrt——Toolkit——MindStudio

首先我们用Ubuntu 18.04,对CANN的环境进行部署,可以去华为云租,自己有的话也可以使用自己的。

1、准备操作

这里我使用了MobaXterm9进行远程连接。

查看用户:cat /etc/passwd
在这里插入图片描述

应该显示这样得。如果是sh结尾,应该改成bash。。。vi /etc/passwd

也可以修改密码:passwd HwHiAiUser随后输入两遍密码就可以了。

更换镜像
编辑vi etc/apt/sources.list

将里面的内容更换成:

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

输入:apt-get update进行更新。

在这里插入图片描述

2、安装一些源

apt源(依赖)

输入下面这条命令:apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev libbz2-dev libsqlite3-dev libssl-dev libxslt1-dev libffi-dev unzip pciutils net-tools libncursesw5-dev
当有错误发生时输入:apt-get install python3.7
在这里插入图片描述

运行完以后再次输入上面的命令即可安装成功!
如图及安装完成。
在这里插入图片描述

python源 (依赖)

转到用户HuHiAiUser用户下。su - HuHiAiUser

更改pip源:
创建.pip文件夹:mkdir .pip
进入.pip文件夹后创建pip.conf 文件:vim pip.conf
输入以下内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

安装python3.7.5 并设置软连接

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar -zxvf Python-3.7.5.tgz
mkdir /usr/local/python3 
cd Python-3.7.5
./configure --prefix=/usr/local/python3
make && make install
#软连接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

在这里插入图片描述

退回HuHiAiUser用户下。

配置环境变量vim .bashrc
将下面内容复制到文件最后:

#用于设置python3.7.5库文件路径
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
#如果用户环境存在多个python3版本,则指定使用python3.7.5版本
export PATH=/usr/local/python3.7.5/bin:$PATH

在这里插入图片描述

输入:source .bashrc使环境变量生效。

安装pip源 在后面加–user

pip3.7.5 install attrs
pip3.7.5 install numpy
pip3.7.5 install decorator
pip3.7.5 install sympy==1.4
pip3.7.5 install cffi==1.12.3
pip3.7.5 install pyyaml
pip3.7.5 install pathlib2
pip3.7.5 install psutil
pip3.7.5 install protobuf
pip3.7.5 install scipy
pip3.7.5 install requests
pip3.7.5 install xlrd==1.2.0

命令:

pip3.7.5 install attrs numpy decorator sympy==1.4 cffi==1.12.3 pyyaml pathlib2  psutil  protobuf scipy requests xlrd==1.2.0 --user

在这里插入图片描述
安装完成。

3、导入我们下载好的所需要的安装包

导入文件步骤:
建立一个目录:mkdir downloads

进入downloads 后传入我们想要的文件。
在这里插入图片描述

需要下载的东西:

1、下载驱动包
在这里插入图片描述
wgethttps://obs-9be7.obs.cn-east-2.myhuaweicloud.com/turing/resourcecenter/Software/20.2.0/A300-3010%201.0.9/A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run–no-check-certificate

2、下载nnrt和toolkit包

打开https://ascend.huawei.com/#/software/cann/community

找到相关的驱动包的地址:

https://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run

https://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run

到Xshell中做wget

wgethttps://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run–no-check-certificate

wgethttps://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run–no-check-certificate

3、下载MindStudio

wgethttps://obs-9be7.obs.cn-east-2.myhuaweicloud.com/turing/resource/mindstudio/2.0.0-beta3/MindStudio_2.0.0-beta3_linux.tar.gz–no-check-certificate

安装导入的软件包

drive 驱动要在root用户装。其余的b包在业务用户安装。
在这里插入图片描述

首先对三个包增加可执行权限:chmod +x A*

在这里插入图片描述

安装第一个:./A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run --full

在这里插入图片描述
安装完后需要重启:reboot

安装第二个:./Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run --install

首先进入到:
在这里插入图片描述
在进行安装:
在这里插入图片描述

需要配置环境变量:vim ~/.bashrc
将这三个:
在这里插入图片描述
更改成这样:

在这里插入图片描述

使环境生效:sourch ~/.bashrc

第二个安装完成。

安装第三个:./Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run --install

在这里插入图片描述
已经完成,将框框内的环境变量保存到一个记事本中。vim env.txt
复制进去保存就好了。

安装MindStudio

解压:tar zxvf MindStudio_2.0.0-beta3_linux.tar.gz
进入:cd MindStudio/
进入:cd bin/
执行:./MindStudio.sh
在这里插入图片描述
启动时报错:
在这里插入图片描述
按照他给的指令进行安装即可;
在这里插入图片描述

apt-get -y install xterm firefox xdg-utils openjdk-8-jdk fonts-droid-fallback fonts-wqy-zenhei fonts-wqy-microhei fonts-arphic-ukai fonts-arphic-uming gnome-keyring 

在这里插入图片描述
完成再次启动。

再次安装python依赖:/usr/local/python3.7.5/bin/pip3 install --user coverage gnureadline pylint matplotlib pandas absl-py
在这里插入图片描述
在这里插入图片描述
完成依赖安装,再次启动。

出现错误:

Checking MindStudio environment dependencies...
SuccessChecking Python environment dependencies...
SuccessPlease use Python interpreter parameter [ /usr/local/python3.7.5/bin/python3 ] to configure Python SDK.
MobaXterm X11 proxy: Unsupported authorisation protocol
2021-03-31 17:03:25,974 [     11]  ERROR - llij.ide.plugins.PluginManager - UI initialization failed
com.intellij.ide.plugins.StartupAbortedException: UI initialization failedat com.intellij.idea.StartupUtil.lambda$prepareApp$2(StartupUtil.java:188)at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:884)at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:866)at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)at com.intellij.idea.StartupUtil.lambda$scheduleInitUi$9(StartupUtil.java:372)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.CompletionException: java.awt.AWTError: Can't connect to X11 window server using 'localhos                                                                                               t:10.0' as the value of the DISPLAY variable.at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)at java.util.concurrent.CompletableFuture.biRelay(CompletableFuture.java:1298)at java.util.concurrent.CompletableFuture$BiRelay.tryFire(CompletableFuture.java:1284)... 6 more
Caused by: java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variab                                                                                               le.at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)at java.security.AccessController.doPrivileged(Native Method)at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:131)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at java.awt.Toolkit$2.run(Toolkit.java:860)at java.awt.Toolkit$2.run(Toolkit.java:855)at java.security.AccessController.doPrivileged(Native Method)at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)at java.awt.Toolkit.getEventQueue(Toolkit.java:1736)at java.awt.EventQueue.invokeLater(EventQueue.java:1294)at com.intellij.idea.StartupUtil.lambda$scheduleInitUi$9(StartupUtil.java:323)... 3 more
2021-03-31 17:03:25,989 [     26]  ERROR - llij.ide.plugins.PluginManager - MindStudio 2.0.0  Build #MS-201.8743.12.4
2021-03-31 17:03:25,991 [     28]  ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_282; VM: OpenJDK 64-Bit Server VM;                                                                                                Vendor: Private Build
2021-03-31 17:03:25,992 [     29]  ERROR - llij.ide.plugins.PluginManager - OS: LinuxStart Failed: Failed to initialize graphics environmentjava.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)at java.security.AccessController.doPrivileged(Native Method)at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:131)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:264)at java.awt.Toolkit$2.run(Toolkit.java:860)at java.awt.Toolkit$2.run(Toolkit.java:855)at java.security.AccessController.doPrivileged(Native Method)at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)at java.awt.Toolkit.getEventQueue(Toolkit.java:1736)at java.awt.EventQueue.invokeLater(EventQueue.java:1294)at com.intellij.idea.StartupUtil.lambda$scheduleInitUi$9(StartupUtil.java:323)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)-----
JRE 1.8.0_282-8u282-b08-0ubuntu1~18.04-b08 amd64 by Private Build
/usr/lib/jvm/java-8-openjdk-amd64/jre

正常情况下就就应该启动图形页面,但是启动失败:初始化图形环境失败。

原因
我在用户下安装的python依赖,而不是在root下,在root启动后既可成功开启:
在这里插入图片描述
点OK进入MindStudio,即可!

到此为止,全部安装成功,就可以进行下一步操作

4、使用MindStudio验证resnet样例工程

在这里插入图片描述
在这里插入图片描述
Finsh继续下一步。

创建一个新的工程:
在这里插入图片描述
分别为模型开发,算子开发,应用开发。

在这里插入图片描述
我们选择应用开发;
在这里插入图片描述

在这里插入图片描述
界面如此:
在这里插入图片描述
在189行找到网址进去:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在原始数据右击复制链接地址:https://gitee.com/HuaweiAscend/models/raw/master/computer_vision/classification/resnet50/resnet50.prototxt

在studio界面找到Terminal:
在这里插入图片描述
下载上面的网址内容:
在这里插入图片描述
在这里插入图片描述
同样操作,复制以后下载下来。
在这里插入图片描述

进行模型转换:

在这里插入图片描述
出现此界面:
在这里插入图片描述
选择下载好的model:
在这里插入图片描述

在这里插入图片描述
下一步下一步完成即可:
在这里插入图片描述

下载图片:
在这里插入图片描述

在data里面下载:
在这里插入图片描述
在这里插入图片描述
添加模型到工程,右击MyApp;
在这里插入图片描述

编译:在这里插入图片描述

输入:python3.7.5 ../script/transferPic.py对图片进行预处理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行完毕。

在这里插入图片描述

全部完成!

这篇关于昇腾CANN应用的运行环境部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/568591

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

zoj3820(树的直径的应用)

题意:在一颗树上找两个点,使得所有点到选择与其更近的一个点的距离的最大值最小。 思路:如果是选择一个点的话,那么点就是直径的中点。现在考虑两个点的情况,先求树的直径,再把直径最中间的边去掉,再求剩下的两个子树中直径的中点。 代码如下: #include <stdio.h>#include <string.h>#include <algorithm>#include <map>#

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装