總結
環境分為社區版和專業版,以下全是基於社區版的進行開發。
就是安裝 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

