昇腾CANN模型转换
一、开发环境配置
- 选择Ubuntu20.04系统
- 换源使用国内镜像源
1
sudo vim /etc/apt/sources.list
1
2
3
4
5
6
7
8
9
10
11
12
13
14deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse - 安装环境依赖
1
2
3sudo apt update && sudo apt upgrade
sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev
sudo apt-get install -y unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev libncursesw5-dev - python环境配置
安装miniconda创建cann的conda环境1
2
3
4
5mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init zshpip、conda换源,此处省略,自行查阅相关资料1
2conda create -n cann python=3.9
conda activate cann
安装基础包1
2
3pip3 install --upgrade pip
pip3 install attrs numpy==1.17.2 decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests
pip install onnx
二、安装CANN toolkit
- 下载toolkit开发工具
官方最新:华为社区版资源下载
个人:Ascend-cann-toolkit_8.0.RC3.alpha001_linux-x86_64.run 提取码: abel
个人:Ascend-cann-toolkit_8.0.RC3.alpha001_linux-aarch64.run 提取码: abel - 安装开发工具
1
2chmod +x Ascend-cann-toolkit_8.0.RC3.alpha001_linux-x86_64.run
./Ascend-cann-toolkit_8.0.RC3.alpha001_linux-x86_64.run --install - 配置交叉编译环境
对于Atlas 200 AI加速模块 (RC场景)和Atlas 500 小站(运行环境aarch64架构)来说,当开发环境是一台X86 PC进行环境搭建时,需要在开发环境中安装交叉编译工具1
sudo apt install g++-aarch64-linux-gnu
- 添加依赖库
出现报错进入到Ascend目录下输入1
libascend_hal.so: cannot open shared object file:No such……
把libascend_hal.so复制到/usr/local/lib/下1
find . -name libascend_hal.so
进入“/etc/ld.so.conf”,并将“/usr/local/lib”添加至文件最后一行1
sudo cp ~/Ascend/ascend-toolkit/8.0.RC3.alpha001/x86_64-linux/devlib/linux/x86_64/libascend_hal.so /usr/local/lib/
更新共享库缓存1
/usr/local/lib/
1
2ldconfig
sudo ldconfig - 添加环境变量
在”~/.zshrc”中加入”source /home/abelxiaoxing/Ascend/ascend-toolkit/set_env.sh”1
lvim ~/.zshrc
重新载入zsh配置1
source /home/abelxiaoxing/Ascend/ascend-toolkit/set_env.sh
1
source ~/.zshrc
三、onnx到om模型转换
查看模型输入名称,此处用’convnextv2_nano.onnx’来示范
1 | import onnx |
此处输出”input”,因此于–input_shape中,填入的模型名称为”input”
atc模型转换
1 | atc --model=./convnextv2_nano.onnx --framework=5 --output=./model --soc_version=Ascend310B1 --input_shape="input:1,3,224,224" |