华为海思系列----昇腾张量编译器(ATC)模型转换工具----入门级使用指南(LINUX版)

发布于:2025-05-14 ⋅ 阅读:(22) ⋅ 点赞:(0)

        由于官方SDK比较冗余且经常跨文档讲解且SDK整理的乱七八糟,对于新手来说全部看完上手成本较高,本文旨在以简短的方式介绍 CAFFE / ONNX 模型转 om 模型,并进行推理的全流程。希望能够帮助到第一次接触华为海思框架的道友们。大佬们就没必要看这种基础文章啦!

        注:本文所有操作均在 WSL (Windows 虚拟子系统)上操作的,默认 root 环境,默认开发板系统为LINUX,所有环境变量均写入 bashrc ,非虚拟机用户谨慎写入。所有用到的工具以及示例代码,均在文末。

目录

1. 简介

1.1 安装CANN ToolKit(以python3.9为例)

1.1.1 编译python3.9

1.1.2 安装 cann 

1.2 交叉编译工具链安装

1.3 安装openssh(有的话可跳过,没有也可以通过 NFS 共享目录解决文件传输问题)

2. 使用方法

2.1 caffe 转 om(以resnet50为例)

2.2 om 模型信息查看

2.3 om 模型推理流程(类似RKNNToolKitLite)

2.4 开发板执行

2.5 源码及工具链传送门 


1. 简介

        ATC 是海思芯片的模型转换工具,用于将开源框架网络模型(caffe,onnx,tensorflow)转化为 .om 格式并使用 AscendCL进行推理(因为笔者比较熟悉瑞芯微系列,分别类似于类似瑞芯微系列的RKNNToolkit工具, .rknn 模型,RKNNToolkitLite板端推理工具)。

1.1 安装CANN ToolKit(以python3.9为例)

        模型转换需要在 linux x86 设备上进行,因为我的服务器是ubuntu22.04,而官方给的交叉编译工具又必须在ubuntu18.04上才能用,所以我选择使用 WSL,安装ubuntu18.04参考:Windows11 安装 WSL

1.1.1 编译python3.9

        坑:各 python 必须严格按照下述版本,否则执行模型转换时会报错 :Python3.7.x(3.7.5~3.7.11)、Python3.8.x(3.8.0~3.8.11)、Python3.9.x(3.9.0~3.9.2)推荐使用Python3.9.2

# 安装python3.9
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
  libncurses5-dev libncursesw5-dev xz-utils tk-dev \
  libffi-dev libxslt1-dev liblzma-dev python3-openssl cmake Pillow git 

wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
tar -zxvf Python-3.9.2.tgz
cd Python-3.9.2
./configure --prefix=/usr/local/python3.9.2 --with-ssl-default-suites=openssl --enable-shared CFLAGS=-fPIC
make -j8
make install
vi ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/python3.9.2/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.9.2/bin:$PATH
source ~/.bashrc

# 安装 cann 所需 python 环境
# 注意,WSL默认sudo权限,此处如果用sudo,后续执行 ./Ascend-cann-toolkit_8.1.RC1_linux-x86_64.run --install 也要加sudo
pip3 install attrs cython numpy==1.24.0 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py -i https://pypi.tuna.tsinghua.edu.cn/simple

1.1.2 安装 cann 

        在昇腾官网下载 cann 安装包, 并传到WSL中:社区版资源下载-资源下载中心-昇腾社区

        注:我用的是SDK中提供的 Ascend-cann-toolkit_5.20.t6.2.b060_linux-x86_64.run
chmod +x Ascend-cann-toolkit_5.20.t6.2.b060_linux-x86_64.run

# 校验安装包是否完整, 校验成功会显示 Verifying archive integrity...  100%
./Ascend-cann-toolkit_5.20.t6.2.b060_linux-x86_64.run --check
 
# 安装,安装过程中有协议确认,按 Y 即可,安装成功会显示 <..

网站公告

今日签到

点亮在社区的每一天
去签到