【Atlas500】华为Atals MindStudio配置指南

news2024/12/24 9:08:53

目录

  • 安装推理用ubuntu版docker
  • 配置docker内的ssh服务
  • 安装ubuntu系统中的依赖项:
    • 检查root用户的umask
    • 安装依赖项
    • 安装CANN
    • 连接到CANN Setting

666666

安装推理用ubuntu版docker

在这里插入图片描述
在这里插入图片描述

华为的atlas500自带的欧拉系统是一个裁剪系统,一般通过在其上运行官方的ubuntu docker,再在其上安装依赖并进行模型推理。
昇腾推理用镜像地址(安装无裁剪的ubuntu系统):

https://ascendhub.huawei.cn/#/detail/ascend-infer

使用前提
物理机上有Ascend 310芯片
物理机已安装对应CANN版本的驱动和固件
物理机已安装Docker,且Docker网络可用

使用npu-smi info命令查看硬件驱动版本,有:
在这里插入图片描述
找到对应的版本号:21.0.4.9
对应cann的版本为:5.0.4
选择对应docker:
在这里插入图片描述
下载需要凭证,需要登陆并注册一个账号
根据页面提示下载后:
在这里插入图片描述
镜像下载完成后,启动该ubuntu镜像,并将镜像中的部分目录挂载到宿主机上,便于镜像中的系统可以直接使用宿主机中的库。
在宿主机中特别创建目录,用于放置模型以供调用:

mkdir /home/test

然后编写下述脚本便于启动docker:

#!/bin/bash
  
docker_images=ascendhub.huawei.cn/public-ascendhub/ascend-infer:21.0.4-ubuntu18.04
model_dir=/home/test

docker run -it -u root --ulimit nofile=5000:5000 --ipc=host --net=host \
        --device=/dev/davinci0 \
        --device=/dev/davinci_manager \
        --device=/dev/devmm_svm \
        --device=/dev/hisi_hdc \
        -v ${model_dir}:${model_dir} \
        -v /usr/local/bin/:/usr/local/bin \
        -v /home/data/miniD/driver:/usr/local/Ascend/driver \
        -v /home/data/Ascend-DMI:/usr/local/Ascend/Ascend-DMI \
        -v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
        -v /var/log/npu/slog:/var/log/npu/slog \
        -v /var/log/npu/profiling:/var/log/npu/profiling \
        -v /var/log/npu/dump:/var/log/npu/dump \
        -v /var/log/npu:/usr/slog ${docker_images} \
        /bin/bash

由于设置了主机网络模式,不能进行容器的端口映射,所以将容器内的ssh服务端口改为16666,便于远程对外访问。

配置docker内的ssh服务

apt-get update
apt-get install sudo
sudo apt-get install wget
sudo ps -e|grep ssh

安装ssh服务

sudo apt-get install ssh
sudo apt-get install openssh-server

查看ssh的状态,没有返回说明没有启动

sudo ps -e|grep ssh

启动ssh

sudo service ssh start

更改ssh配置文件

vim /etc/ssh/sshd_config

填加以下内容:

Port 10002
PermitRootLogin yes #允许root用户使用ssh登录

重启ssh服务:

sudo service ssh restart

设置新密码:

passwd root

即完成了远程连接,在Atals MindStudio登陆时使用如图配置即可使用docker:
在这里插入图片描述

安装ubuntu系统中的依赖项:

检查root用户的umask

以root用户登录安装环境。

检查root用户的umask值。

umask
如果umask不等于0022,请执行如下操作配置,在该文件的最后一行添加umask 0022后保存。

在任意目录下执行如下命令,打开.bashrc文件:
vi ~/.bashrc
在文件最后一行后面添加umask 0022内容。

执行:wq!命令保存文件并退出。
执行source ~/.bashrc命令使其立即生效。

说明
依赖安装完成后,请用户恢复为原umask值(删除.bashrc文件中umask 0022一行)。基于安全考虑,建议用户将umask值改为0027。

补充:
在Ubuntu系统中,umask值是一个三位数字,用于设置新创建文件和目录的默认权限。它通过从默认权限掩码中减去指定的值来计算权限。
默认情况下,Ubuntu系统中的umask值为022,这意味着新创建的文件和目录将具有默认权限-rw-r–r--和drwxr-xr-x。这意味着所有者可以读取和写入文件,而其他用户只能读取文件。对于目录,所有者可以读取、写入和执行目录,而其他用户只能读取和执行目录。

安装依赖项

执行如下的安装命令:

sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3

安装python:
检查系统是否安装满足版本要求的Python开发环境(具体要求请参见依赖列表)。
执行命令python3 --version,如果返回信息满足Python版本要求,则直接进入下一步。

否则可参考如下方式安装python3.9.0。

使用wget下载python3.9源码包,可以下载到安装环境的任意目录,命令为:

wget https://www.python.org/ftp/python/3.9.0/Python-3.9.tgz
tar -zxvf Python-3.9.0.tgz
cd Python-3.9.0
./configure --prefix=/usr/local/python3.9.0 --enable-loadable-sqlite-extensions --enable-shared
make
sudo make install

设置Python3.9环境变量。
#用于设置python3.9库文件路径

export LD_LIBRARY_PATH=/usr/local/python3.9.0/lib:$LD_LIBRARY_PATH

#如果用户环境存在多个python3版本,则指定使用python3.9版本

export PATH=/usr/local/python3.9.0/bin:$PATH

通过以上export方式设置环境变量,该种方式设置的环境变量只在当前窗口有效。您也可以通过将以上命令写入~/.bashrc文件中,然后执行source /.bashrc命令,使上述环境变量永久生效。注意如果后续您有使用环境上其他Python版本的需求,则不建议将以上命令写入到/.bashrc文件中。

安装python依赖:

pip3 install --upgrade pip
pip3 install attrs
pip3 install numpy
pip3 install decorator
pip3 install sympy
pip3 install cffi
pip3 install pyyaml
pip3 install pathlib2
pip3 install psutil
pip3 install protobuf
pip3 install scipy
pip3 install requests
pip3 install absl-py

退出再次进入docker命令:

docker exec -it 97d /bin/bash

安装CANN

mkdir install 
cd install/
wget wyl.obs.cn-east-317.qdrgznjszx.com/Ascend-cann-toolkit_5.0.4.6_linux-aarch64.run
ls
chmod +x *
ls
pip3 list
./Ascend-cann-toolkit_5.0.4.6_linux-aarch64.run --install
source /usr/local/Ascend/ascend-toolkit/set_env.sh 

并且使用:

vim ~/.bashrc 
source /usr/local/Ascend/ascend-toolkit/set_env.sh

将内容添加至bash内。
具体来说,source命令会读取指定的Shell脚本文件,并将其中的命令和环境变量加载到当前Shell环境中,以便可以直接在命令行中执行这些命令或使用这些环境变量。
安装后运行脚本卸载:

/usr/local/Ascend/ascend-toolkit/5.0.4.6/arm64-linux/script/uninstall.sh

连接到CANN Setting

Ascend-cann-toolkit开发套件包的安装路径,默认为$HOME/Ascend/ascend-toolkit/{version}

在这里插入图片描述

#安装mxVision SDK软件包(需要python3.9的依赖)

wget wyl.obs.cn-east-317.qdrgznjszx.com/Ascend-mindxsdk-mxvision_2.0.4_linux-aarch64.run
./Ascend-mindxsdk-mxvision_2.0.4_linux-aarch64.run --install --install-path=/usr/local/mindsdk
#最后生效环境变量
.set_env.sh

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

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

相关文章

【消息队列】Kafka高水位和Leader Epoch原理

什么是高水位 首先高水位也就是HW,而对应的有LEO,其实这都是Kafka副本中针对位移的概念,其目的就是为了保证多副本间数据的一致性。 LEO (Log End Offet):每个副本的最后一个offset,LEO其实就是…

你猜我猜不猜 (猜数字游戏) 快来小玩一把叭

🤩本文作者:大家好,我是paperjie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C语言》专栏,笔者用重金(时间和精力)打造,将C语言知识一网打尽,希望可…

解决Vue热更新失效问题

解决Vue热更新失效 一、问题描述二、出现原因三、解决方案四、总结 🚀 欢迎访问我的个人博客:https://wk-blog.vip 一、问题描述 之前在本地测试Vue项目时,是可以热更新的,但是最近一段时间发现Vue的热更新失效了。然后通过vs co…

【大厂直通车】美团_测开面经

哈喽,大家好,我是小浪;那么最近暑假实习,日常实习是卷的飞起,无论是开发岗,测试岗,算法岗,都一片死寂;不过还是有很多大佬,成功绞杀很多大厂,offer也是拿到手软; 团子暑期实习offer: 📱本专栏致力于持续更新最新各大厂面经,实习消息,招聘要求; 那么目前价格…

ISCSI个人理解与简要说明

ISCSI个人理解与简要说明 一、如何理解ISCSI二、iscsi 命令iscsiadm(管理客户端)tgtadm(管理服务端) 三、ISCSI中的概念四、从DAS,NAS,SAN的角度扩展理解ISCSI 一、如何理解ISCSI 理解一个东西&#xff0c…

Niginx的rewrite

常用的Nginx正则表达式 ^匹配输入字符串的起始位置 $匹配输入字符串的结束位置 *匹配前面的字符零次或多次。如“ol*" 能匹配"o”及“ol”、“oll” 匹配前面的字符一次或多次。如“ol" 能匹配“ol"及“ol1”、“olll", 但不能匹配“o” ?…

服务器版本的表白墙

目录 1.步骤 2.提供两个接口: 3.流程 4.代码 1.前端代码 2.sql创建表 3.后端代码 MessageServlet.java DBUtil.java 1.步骤 1.约定前后端交互的接口 2.开发服务器代码 a.编写servlet处理前端发来的请求 b.编写数据库代码,存储获取关键的数据 3.开发客户端代码 a.基于…

java学习中遇到的问题及解答

你好,我想问一下,为什么在idea编译环境下,有异常的地方它会报错,让你主动添加抛出错误代码呢? 在Java中,有两种类型的异常,一种是受检异常(checked exception)&#xff0…

一级结构规范 合集

极限状态设计原则4.1限态4.11 极限状态可分为承载能力极限状态、正常使用极限状态和耐久性极限状态。极限状态应符合下列规定:1当结构或结构构件出现下列状态之一时,应认定为超过了承载能力极限状态;1) 结构构件或连接因超过材料强度而破坏,或因过度变形…

安捷伦E4433B信号发生器

E4433B Agilent E4433B ESG-D系列 4G信号发生器安捷伦250kHz-4GHz 品  牌: Agilent 简单介绍 频率范围: E4430B 250K-1GHz E4431B 250K-2GHz E4432B 250K-3GHz E4433B 250K-4GHz 18320918653 供单信道和多信道CDMA用的测量卡用于I和Q的20 MH…

第六章 建造者模式

文章目录 前言一、传统方式解决盖房子需求完整代码抽象房子类 AbstractHouse实现子类 普通房子实现子类 高楼大厦客户端盖房子 二、引入建造者模式建造者模式的四个角色: 产品、抽象建造者、具体建造者、指挥者完整代码House类 (产品角色)抽象父类(抽象建…

Node内置模块 【Event事件模块】

文章目录 🌟前言🌟Event事件模块🌟EventEmitter类🌟加载events模块🌟实例化eventEmitter对象 🌟事件方法列表🌟使用事件🌟异步与同步 🌟写在最后 🌟前言 哈喽…

ZLMeidiaKit实现推流时(FFmpeg推rtmp流)时非127.0.0.1被拒绝需要鉴权的解决方式

场景 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放: 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客-CSDN博客 在上面搭建ZLMedia…

CE作业(3)

1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! ​ 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息&…

windows和linux上证书的增删查

文章目录 引言windows上对个人证书的增删查创建证书证书的查找证书的删除证书的安装 Linux上对个人证书的增删查创建证书证书的安装证书的查看证书的删除 Linux上对系统证书的增删查 引言 PS: 我之前看过《图解密码技术》,已经对证书这些概念有基本的了解&#xff…

Docker容器---dockerfile简介

Docker容器---dockerfile简介 一、dockerfile概念1、dockerfile介绍2、基于dockerfile创建3、docker镜像加载原理 二、镜像的创建1、基于现有镜像创建2、基于本地模板创建3、基于dockerfile创建 三、Dockerfile编写1、dockerfile操作指令(1)FROM 镜像&am…

9. 自注意力机制(Self-attention Part2)

P27 自注意力机制(Self-attention Part2) 视频链接 P27 自注意力机制(Self-attention Part2) 计算流程: Multi-head: 应用:

数据结构入门篇:第一篇

数据结构入门篇:第一篇 时间复杂度 数据结构入门篇:第一篇1.时间复杂度2.时间复杂度的练习总结 🤔首先,为什么要学数据结构? 数据结构的概念:在内存中对数据进行管理; 数据结构的学习能让我们在…

C#生成单色bmp图片,转为单色bmp图片 任意语言完全用字节拼一张单色图,LCD取模 其它格式图片转为单色图

最终效果: V1.8.2 20230419 文字生成单色BMP图片4.exe 默认1280*720 如果显示不全,请把宽和高加大 字体加大。 首先,用windows画板生成一张1*1白色单色图作为标准,数据如下: 数据解析参考:BMP图像文件完…

【K8S系列】深入解析StatefulSet(二)

序言 那些看似不起波澜的日复一日,一定会在某一天让你看见坚持的意义。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点 Kubernetes (k8s) 是一个容器编排平…