华为atlas 300推理卡工控机环境配置
总结
环境分为社区版和专业版,以下全是基于社区版的进行开发。
就是安装 npu驱动和固件,再准备 cann_toolkit 开发环境,和 nnrt或者nnae运行环境(nnrt仅支持离线推理,nnae 离线和在线都支持)。
ps: 需要注意的是,网页的英文版本和中文版本的最新版的 驱动、固件、cann的版本是不同的(中文版的比较新,英文版本的版本会低,我自己都是在中文网页上下载的最新文件)
开发文档参考:https://www.hiascend.com/zh/document?tag=community-developer
系统安装
ubuntu18.04.1 : http://old-releases.ubuntu.com/releases/18.04.1/ubuntu-18.04.1-desktop-amd64.iso
驱动和固件安装
参考链接: https://support.huawei.com/enterprise/zh/doc/EDOC1100079287/6be5600f
2.安装
sudo apt update # 首先要换源
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 libopenblas-dev # 安装 cann的 依赖
chmod +x A300-3010-npu-driver_21.0.3.1_linux-x86_64.run
sudo ./A300-3010-npu-driver_21.0.3.1_linux-x86_64.run --full --install-username=ubuntu --install-usergroup=ubuntu # 这里的用户名和用户组都是ubuntu
npu-smi info # 查看npu 信息 验证驱动安装
chmod +x A300-3010-npu-firmware_1.79.22.5.220.run
sudo ./A300-3010-npu-firmware_1.79.22.5.220.run --full
sudo /usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version # 验证 固件安装是否成功
CANN软件安装
参考链接:https://support.huaweicloud.com/instg-cli-cann504-alpha002/instg-cli-cann504-alpha002.pdf
- 安装依赖
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz # 获取python 包
cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make -j4
sudo make install
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH # 将其添加到 ~/.bashrc 中
# sudo rm /usr/bin/python3 # 因为 系统的python3是python3.6.5,然后删除 这个链接文件
# sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3 # 将系统python3 链接到 python3.7.5 这一步应该放到系统环境弄好了再做,因为可能装环境的时候会装python3.6
sudo ln -s /usr/local/python3.7.5/bin/python3.7 /usr/bin/python3.7 # 为了后面安装 cann的环境 需要做一个python3.7的链接
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3 # 链接pip3
sudo mv /usr/bin/lsb_release /usr/bin/lsb_release_back # 移动 系统python3默认的lsb_release
mkdir ~/.pip
vim ~/.pip/pip.conf # 配置pip 源
pip 源配置如下:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple
[install]
trusted-host = mirrors.aliyun.com
安装 python 依赖
sudo -s # 切换到root 用户
pip3 install attrs
pip3 install numpy # 官方文档写着 1.72.2的版本,但是报找不到这个版本的错误,于是就安装默认的版本了
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
- 安装开发环境
下载链接: https://www.hiascend.com/zh/software/cann/community
chmod +x Ascend-cann-*
sudo -s # 切换到root 用户
./Ascend-cann-toolkit_5.0.4.alpha002_linux-x86_64.run --install
source /usr/local/Ascend/ascend-toolkit/set_env.sh # 使能环境变量
atc --model=./best.onnx --framework=5 --output=best --input_format=NCHW --soc_version=Ascend310 --input_shape="input:1,3,224,384" # onnx 模型转换 一定要写 input_shape
atc --model=luggage_detect.prototxt --weight=luggage_detect.caffemodel --framework=0 --output=./output --soc_version=Ascend310 # caffe 模型转换
- 安装运行环境
mkdir ~/cann_nnrt # 普通用户安装,官方文档建议非root用户安装
./Ascend-cann-nnrt_5.0.4.alpha002_linux-x86_64.run --install-path=/home/ubuntu/cann_nnrt
ffmpeg和opencv
参考链接: https://gitee.com/ascend/samples/blob/master/cplusplus/environment/opencv_install/README_300_CN.md
mkdir ~/software && cd ~/software
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff5-dev git cmake libswscale-dev pkg-config -y
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxvf ffmpeg-4.1.3.tar.gz
cd ffmpeg-4.1.3 && mkdir install
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --prefix=$(pwd)/install
make -j4
make install
sudo cp install/lib/pkgconfig/* /usr/share/pkgconfig/ #
cd .. && git clone -b 4.3.0 https://gitee.com/mirrors/opencv.git #获取opencv 4.3.0
cd opencv && mkdir install && mkdir build && cd build
应用开发
https://support.huaweicloud.com/aclcppdevg-cann504alpha2infer/aclcppdevg_01_0004.html
sample 参考:https://gitee.com/ascend/samples 和 https://www.hiascend.com/zh/developer/mindx-sdk/case-studies/60172215