如何在华为 Ascend 设备上运行模型

模型转换:使用华为的模型转换工具 ATC

ATCascend-cann-toolkit 包里

环境

Docker Image:
ascendhub.huawei.com/public-ascendhub/ascend-pytorch:24.0.RC1-A2-2.1.0-ubuntu20.04

镜像版本CANN版本Pytorch版本变更项
24.0.RC18.0.RC12.1.0基础镜像变更为 ubuntu20.04。python版本升级为3.9.2 建议在x86设备上转换模型
23.0.07.0.01.11.0
22.0.06.0.11.8.1

PS.

帮大家试过了 yolov8 中的部分算子22.0.0版本不支持
模型转化失败
23.0.0 转化成功, 但是盒子的驱动版本是 22.0.0, 两个选择 要么自己写算子 要么更新驱动


启动镜像, 可能需要等待一段时间 (我也不懂什么jb镜像在x86启动也要这么久)

docker run -it -v$(pwd):/workspace ascendhub.huawei.com/public-ascendhub/ascend-pytorch:24.0.RC1-A2-2.1.0-ubuntu20.04 /bin/bash

设置环境变量

source /usr/local/Ascend/ascend-toolkit/set_env.sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib

检查atc能否使用

HwHiAiUser@7deabf7bb2d9:~$ atc
ATC start working now, please wait for a moment.
...
ATC run failed, Please check the detail log, Try 'atc --help' for more information
E10007: [--framework] is required. The value must be [0(Caffe) or 1(MindSpore) or 3(TensorFlow) or 5(Onnx)].

若出现上面的log 则表示环境配置成功

转换

ATC参考文档

参数说明

这里以YOLOv8.ONNX为例
atc --model=yolov8n.onnx --framework=5 --output=yolov8n_ascend --soc_version=Ascend310

输出 log 表示转换成功:

ATC start working now, please wait for a moment.
...
ATC run success, welcome to the next use.

推理


PS.

驱动更新失败了, 推理先告一段落

后面这些没必要看了 个人笔记


环境

驱动安装

固件安装
log

安装驱动
在这里插入图片描述
第一次安装失败了
原因是缺少工具update-rc.d和chkconfig | 安装驱动所需Linux工具

但是盒子上没有apt, tmd…

docker

Docker Image: ascendhub.huawei.com/public-ascendhub/ascend-infer:24.0.RC1-ubuntu20.04
不到1G的镜像, 但是没有 ascend-cann-toolkit, 取而代之的是 nnrt

也没有亲爱的 pytorch

老样子, 设置环境变量

source /usr/local/Ascend/nnrt/set_env.sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/nnrt/latest/x86_64-linux/devlib

官方声称这个镜像有 pip, 反正我没找到
自己装:

apt-get update -y
apt-get install python3-pip -y

先来个numpy压压惊

pip install numpy Pillow -i https://pypi.tuna.tsinghua.edu.cn/simple

推理代码

官方文档: 如何使用 acl 加载模型实现推理: 该文档以resnet50为例

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值