码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何在华为 Ascend 设备上运行模型


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

    ATC 在 ascend-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为例

  • 相关阅读:
    剑指 Offer 37. 序列化二叉树
    tuend\stratis\vdo总结和课堂案例
    山东大学2024深度学习期末考试回忆
    《思科 - GNS3 - Pythonping》
    Android进行字符串替换
    处理异步请求的 async/await 和 promise
    C语言 计算∑(k=1—100)k+∑(k=1—50)k²+∑(k=1—10)1/k的值
    React中如何提高组件的渲染效率
    【补充】助力工业物联网,工业大数据之AirFlow安装
    python快速入手
  • 原文地址:https://blog.csdn.net/qq_42693842/article/details/139768262
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号