【环境部署系列 05】Ascend 310P3(推理)Centos系统环境部署

2023-10-15 08:59

本文主要是介绍【环境部署系列 05】Ascend 310P3(推理)Centos系统环境部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、推荐基础开发环境配置

软件/硬件说明推荐配置/版本获取方式
硬件ARM / X86Atlas 500 Pro / Atlas800-3000 / Atlas800-3010/
操作系统Centos / OpenEulerCentOS 7.6 / CentOS 8.2 / OpenEuler 20.03官网
Driver驱动Atlas 300V Pro / Atlas 300I Pro官网
CANN针对AI场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。CANN x.x.x官网
MindX视频分析应用开发套件(SDK),提供极简易用、高性能的API和工具,助力昇腾AI处理器赋能IVA各应用场景。MindX x.x.x官网

二、安装昇腾驱动

1、获取驱动

驱动、CANN、MindX SDK需要通过官网获取,以下例子,昇腾设备为:Atlas 500 Pro / Atlas800-3000 / Atlas800-3010,服务器为centos 7.6版本

Atlas 300V Pro / Atlas 300I Pro卡获取安装包如下

Ascend HDK x.x.x 目录下获取以下两个文件
Ascend-hdk-310p-npu_x.x.x_linux-{arch}.run                 (驱动)
Ascend-hdk-310p-npu-firmware_x.x.x.run                     (固件)
Ascend-hdk-310p-mcu_x.x.x.zip                              (MCU)CANN x.x.x 目录下获取以下文件
Ascend-cann-toolkit_x.x.x_linux-{arch}.run                 (开发套件)MindX x.x.x 目录下获取以下文件
Ascend-mindxsdk-mxvision_x.x.x_linux-{arch}.run            (SDK)

2、环境搭建

具体环境搭建,可以参考:
https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/51RC1alpha005/softwareinstall/instg/atlasdeploy_03_0018.html

以root用户登录安装环境。

(1)检查root用户的umask值。
umask

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

vi ~/.bashrc
source ~/.bashrc
(2)创建华为用户组HwHiAiUser 和 用户
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

设置密码

passwd HwHiAiUser
(3)推理环境需要的OS依赖
yum install -y gcc gcc-c++ make cmake unzip zlib-devel libffi-devel openssl-devel pciutils net-tools sqlite-devel lapack-devel openblas-devel gcc-gfortran

安装完后检查OS依赖是否都安装上

gcc --version
g++ --version
make --version
cmake --version
rpm -qa |grep unzip
rpm -qa |grep zlib-devel
rpm -qa |grep libffi-devel
rpm -qa |grep openssl-devel
rpm -qa |grep pciutils
rpm -qa |grep net-tools
rpm -qa |grep sqlite-devel
rpm -qa |grep lapack-devel
rpm -qa |grep openblas-devel
rpm -qa |grep gcc-gfortran
(4)如果cmake安装完后不是3.15.2+版本,请手动更新cmake
wget https://cmake.org/files/v3.15/cmake-3.15.2.tar.gz --no-check-certificatetar -zxvf cmake-3.15.2.tar.gz
cd cmake-3.15.2
./bootstrap --prefix=/usr
make
sudo make install
(5)安装Python3.9.0

否则请根据如下方式安装python3.9.0。

a. 准备Python-3.9.0.tgz包,可以使用wget下载python3.9.0源码包,可以下载到安装环境的任意目录,命令为:
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
b. 进入下载后的目录,解压源码包,命令为:
tar -zxvf Python-3.9.0.tgz
c. 进入解压后的文件夹,执行配置、编译和安装命令:
cd Python-3.9.0
./configure --prefix=/usr/local/python3.9.0 --enable-loadable-sqlite-extensions --enable-shared
make
sudo make install

设置python3.9.0环境变量
vi .bashrc内增加以下环境变量

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

为后续安装CANN软件包、运行CANN软件环境变量设置脚本时能够自动配置python3.9.0环境变量,用户需提前创建好文件“use_private_python.info”,操作参考如下:
root用户

vi /etc/use_private_python.info

在文件中添加以下内容:

python3_install_path=/usr/local/python3.9.0

安装完成之后,执行如下命令查看安装版本,如果返回相关版本信息,则说明安装成功。

python3 --version
pip3 --version
(6)Python第三方库安装

推理环境的Python第三方库要求
版本要求:numpy>=1.13.3、protobuf==3.11.3

安装前,建议执行命令pip3 install --upgrade pip进行升级,避免因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.7安装超时,或者太慢的时候,可以使用国内pip源比如:
清华的源

pip3.7 install -i https://pypi.tuna.tsinghua.edu.cn/simple sympy

阿里的源

pip3.7 install -i http://mirrors.aliyun.com/pypi/simple scipy

华为的源

pip3.7 install -i http://mirrors.tools.huawei.com/pypi/simple scipy
(7)安装驱动

Atlas 300V Pro / Atlas 300I Pro卡安装驱动

./Ascend-hdk-310p-npu_x.x.x_linux-{arch}.run --full
./Ascend-hdk-310p-npu-firmware_x.x.x.run --full
(8)安装CANN异构计算平台
./Ascend-cann-toolkit_x.x.x_linux-{arch}.run --install
(9)安装完CANN异构计算平台后,需要配置环境变量

.bashrc文件添加以下环境变量

# 安装toolkit包时配置
. /usr/local/Ascend/ascend-toolkit/set_env.sh

用户也可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:
a) 以运行用户在任意目录下执行vi ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加上述内容。
b) 执行:wq!命令保存文件并退出。
c) 执行source ~/.bashrc命令使其立即生效。

(10)安装完成后npu-smi info 显示安装成功
[root@localhost ~]#
[root@localhost ~]# npu-smi info
+---------------------------------------------------------------------------------+
| npu-smi x.x.x                Version: x.x.x                                     |
+---------------+--------------+--------------------------------------------------+
| NPU    Name   | Health       | Power(W)  Temp(C)          Hugepages-Usage(page) |
| Chip   Device | Bus-Id       | AICore(%) Memory-Usage(MB)                       |
+===============+==============+==================================================+
| 1      310P3  | OK           | 14.5      34               0   / 0               |
| 0      0      | 0000:3B:00.0 | 0         909  / 23054                           |
+===============+==============+==================================================+
(11)升级MCU
1)参照升级前准备准备安装包“{product name}-mcu_X.hpm”。
Atlas 300V Pro / Atlas 300I Pro卡,Ascend-hdk-310p-mcu_x.x.x.zip 解压后得到 Ascend-hdk-310p-mcu_x.x.x.hpm
2)在浏览器的地址栏中输入“https://iBMC管理网口IP地址”,可打开用户登录界面。
输入“用户名”和“密码”登录iBMC Web界面。
默认用户名:Administrator
默认密码:Admin@9000

3)单击“固件升级”。

4)选择升级文件,单击“开始升级”。

5)升级成功。

6)检查升级后的版本号。
a)在iBMC Web主界面导航栏中,选择“系统管理 > 系统信息”,单击“其他”。
b)在界面左侧选择“PCIe卡”,单击PCIe卡左方的,在打开的“扩展信息”区域查看“MCU固件版本”。

三、安装MindX SDK > mxVision

(1)MindX SDK需要通过官网获取。
(2)mxVision说明手册:

https://support.huaweicloud.com/mindxsdk201/index.html

(3)安装MindX SDK
./Ascend-mindxsdk-mxvision_x.x.x_linux-{arch}.run --install --install-path=/usr/local/sdk_home

–install-path为指定安装的路径

(4)安装成功后会提示如下信息
Installing collected packages:mindx
Successfully installed mindx-x.x.x
(5)安装成功后在对应目录下查看,能看到mxVision
[root@localhost sdk_home]#
[root@localhost sdk_home]# pwd
/usr/local/sdk_home
[root@localhost sdk_home]# ls
mxVision mxVision-x.x.x
[root@localhost sdk_home]#
[root@localhost sdk_home]#
(6)MindX SDK使用中需要用到OSD功能,安装后需要执行以下命令,生成om文件
bash /usr/local/sdk_home/mxVision/operators/opencvosd/generate_osd_om.sh

执行成功后,显示如下效果

[root@localhost ~]# bash /usr/local/sdk_home/mxVision/operators/opencvosd/generate_osd_om.sh
ASCEND_HOME is set to /usr/local/Ascend by user
Set ASCEND_VERSION to the default value:ascend-toolkit/latest
ATC start working now,please wait for a moment.
ATC run success, welcome to the next use.The model has been successfully converted to om,please get it under /usr/local/sdk_home/mxVision/operators/opencvosd.
[root@localhost ~]# 
(9)安装完MindX SDK后,需要配置环境变量

.bashrc文件添加以下环境变量

# 安装mxVision时配置
. /usr/local/sdk_home/mxVision/set_env.sh

用户也可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:

a) 以运行用户在任意目录下执行vi ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加上述内容。
b) 执行:wq!命令保存文件并退出。
c) 执行source ~/.bashrc命令使其立即生效。

这篇关于【环境部署系列 05】Ascend 310P3(推理)Centos系统环境部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的