参考  https://support.huaweicloud.com/tg-cannApplicationDev330/atlasatc_16_0004.html

二、模型转换

图2.1 模型转换流程图

2.1 修改环境变量

cd    /usr/local/Ascend/ascend-toolkit

修改set_env.sh内容

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/atc/lib64:/usr/local/Ascend/ascend-toolkit/latest/atc/lib64
export PYTHONPATH=$PYTHONPATH:/usr/local/Ascend/ascend-toolkit/latest/atc/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/atc/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/pyACL/python/site-packages/acl
export PATH=$PATH:/usr/local/Ascend/ascend-toolkit/latest/atc/ccec_compiler/bin:/usr/local/Ascend/ascend-toolkit/latest/atc/bin:/usr/local/Ascend/ascend-toolkit/latest/atc/bin
export ASCEND_AICPU_PATH=/usr/local/Ascend/ascend-toolkit/latest
export ASCEND_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp
export TOOLCHAIN_HOME=/usr/local/Ascend/ascend-toolkit/latest/toolkit

2.2 ATC工具使用环境搭建

获取ATC工具
确保开发套件包Ascend-cann-toolkit安装完成。该场景下ATC工具安装在“Ascend-cann-toolkit安装目录/ascend-toolkit/{version}/{arch}-linux/atc/bin”下。
设置环境变量
使用export方式设置环境变量后,环境变量只在当前窗口有效。如果用户之前在.bashrc文件中设置过ATC软件包安装路径的环境变量,则在执行上述命令之前,需要先手动删除原来设置的ATC安装路径环境变量。
若开发环境架构为Arm(aarch64),模型转换耗时较长,则可以参考开发环境架构为Arm(aarch64),模型转换耗时较长解决。
该工具对Python版本的支持为3.7.0-3.7.9,本手册以Python3.7.5为例进行介绍,相应环境变量和安装命令以实际安装Python版本为准。

(1) 必选环境变量
如果用户环境存在多个python3版本,则指定使用python3.7.5版本,python3.7.5安装路径请根据实际情况进行替换;

export PATH=/usr/local/python3.7.5/bin:$PATH

执行如下脚本设置环境变量。

# 以root用户安装toolkit包
. /usr/local/Ascend/ascend-toolkit/set_env.sh
# 以非root用户安装toolkit包
. ${HOME}/Ascend/ascend-toolkit/set_env.sh

(2) 可选环境变量

a. 日志落盘与打屏。
日志落盘:
atc命令执行过程中,由于–log参数默认值为null,即不输出日志,若想日志能落盘到文件,则可以尝试将–log设置为其他取值,比如–log=info。
日志打屏:
atc命令执行过程中,日志默认不打屏,如需打屏显示,则请在执行atc命令的当前窗口设置如下环境变量,然后再执行atc命令:

export ASCEND_SLOG_PRINT_TO_STDOUT=1

若设置上述环境变量后,仍旧未打屏,则请在atc命令设置–log=xx参数显示相应的日志级别,关于该参数的使用方法请参见–log。
b. 开启算子并行编译功能。
若网络模型较大,模型转换过程中,可设置如下环境变量,开启算子的并行编译功能。

export TE_PARALLEL_COMPILER=xx

上述环境变量控制dump图的内容多少:取值为1,全量dump;取值为2,不含有权重等数据的基本版dump;取值为3,只显示节点关系的精简版dump。
设置上述环境变量后,还可以设置如下环境变量,控制dump图的个数。

export DUMP_GRAPH_LEVEL=1

取值为1,dump所有图;取值为2:dump除子图外的所有图;取值为3:dump最后的生成图,默认值为2。
设置上述变量后,在执行atc命令的当前路径会生成相应的图文件。

2.3 pytorch 模型转换成onnx网络模型

利用yolov5中的export.py文件,将opset=11,将pt文件转换成onnx文件
参数:–weight G:/myCode/yolov5/runs/exp26/weights/best.pt --img 640 --batch 1
得到.onnx文件。

python3 modify_yolov5.py yolov5m.onnx yolov5m

将生成的onnx转换成modified.onnx
通过https://netron.app/,导入yolov5_modified.onnx的模型,从下往上找到三个输出节点对应的层数。

2.4 ONNX网络模型转换成离线模型

1、以ATC软件包运行用户登录开发环境,并将模型转换过程中使用到的模型文件(*.onnx)等上传到开发环境任意路径,例如$HOME/module/目录下。
2、执行如下命令生成离线模型。(如下命令中使用的目录以及文件均为样例,请以实际为准)

atc --model=yolov5m.onnx --framework=5 --output=yolov5m --soc_version=Ascend310 --insert_op_conf=aipp_rgb.cfg --input_format=NCHW --input_shape="images:1,3,640,640" --out_nodes="Conv_782:0;Conv_798:0;Conv_814:0" --output_type="Conv_782:0:FP32;Conv_798:0:FP32;Conv_814:0:FP32"

生成得到yolov5m.om。

Atlas500------模型转换(二)相关推荐

  1. 【控制】多智能体系统总结。1. 系统模型。2.控制目标。3.模型转换。

    [控制]多智能体系统总结.1. 系统模型.2.控制目标.3.模型转换. [控制]多智能体系统总结.4.控制协议. [控制]多智能体系统总结.5.系统合并. 文章目录 1. 系统模型 1.1 一阶一维系 ...

  2. django模型——数据库(二)

    模型--数据库(二) 实验简介 模型的一些基本操作,save方法用于把对象写入到数据库,objects是模型的管理器,可以使用它的delete.filter.all.order_by和update等函 ...

  3. linux caffe生成的模型,深度学习之pytorch转caffe转ncnn模型转换(三)

    搭建caffe平台: 先在Linux系统下搭建caffe环境,安装依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy- ...

  4. 转换onnx_模型转换工具X2Paddle操作大全

    深度学习的应用主要包括两个部分,一是通过深度学习框架训练出模型,二是利用训练出来的模型进行预测. 开发者基于不同的深度学习框架能够得到不同的训练模型,如果想要基于一种框架进行预测,就必须要解决不同框架 ...

  5. (四)使用OpenCV实现图像彩色模型转换

    (四)使用OpenCV实现图像彩色模型转换 全文介绍部分引自<数字图像处理>第六章 1.彩色基础 彩色光在电磁波中的波长范围是400-700nm.人眼中的锥状体负责色觉的感知,实验发现,人 ...

  6. yolo模型转换:pytorch -> onnx -> caffe

    第一步:pytorch转onnx(pytorch版,yolov3-9.0开始提供脚本export.py) (1)设置onnx算子版本(按需) 修改代码: torch.onnx.export(model ...

  7. 原理 | 分布式链路跟踪组件 SOFATracer 和 Zipkin 模型转换

    SOFA 中间件是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链 ...

  8. 模型转换、压缩、加速工具

    20210618 sky_hole: 回成都工作了吗?wang shi yang: 嗯 我现在已经在成都上班了sky_hole: 不用付费,我之前发你的视频你好好看看就可以入门了sky_hole: 成 ...

  9. 【地平线开发板 模型转换】将pytorch生成的onnx模型转换成.bin模型

    文章目录 1 获取onnx模型 2 启动docker容器 3 onnx模型检查 3.1 为什么要检查? 3.2 如何操作 4 图像数据预处理 4.1 一些问题的思考 4.2 图片挑选与放置 4.2 使 ...

  10. 喜大普奔!CATIA to SuperMap 模型转换插件横空出世!

    概述 目前CATIA BIM与SuperMap GIS集成并没有直接有效的解决方法,通常是通过中间格式进行数据对接,几何与属性需分步进行,不但费时费力,还易丢失产品数据.CATIA BIM 模型转换工 ...

最新文章

  1. 一句话搞定python六剑客
  2. Android6.0 wakelock深入分析
  3. mysql8.0.13 32位下载_MySQL8.0下载-MySQL数据库8.0下载 v8.0.11官方版(32位/64位)--pc6下载站...
  4. hadoop 操作(二)
  5. 第八章节 文件操作一 (文件常用操作)
  6. mongoVue破解版
  7. 生活记录:其实超度的是活着的人
  8. 张鹏:腾讯云直播PCDN加速方案(附视频回放)
  9. 新型循环神经网络IndRNN:可构建更长更深的RNN
  10. 【Matlab】牛顿迭代法实现
  11. c语言中x=y=100合法吗,【单选题】已知:int x; int y[10]; 下列合法的选项是( )。 A. x B. (x+3) C. 5 D. y...
  12. Yigo平台中系统自带的五个系统字段值
  13. LightGBM 原理、代码最全解读!
  14. 容斥原理之求区间中与某数互质的个数
  15. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中
  16. 【经典面试题】vue2与vue3的区别
  17. 利用word宏命令来自动化缩写期刊名称
  18. git获取增量代码流程
  19. C语言实现员工管理系统
  20. PTA 7-5 最大公约数和最小公倍数 (10 分)

热门文章

  1. 计算机常识--Linux篇
  2. python fetchall方法_Python(SQLite)fetchone、fetchmany和fetchall用法
  3. 利用python分析2018智联招聘全国各个城市的职位数排名
  4. 【高效运维篇】如何通过双因子认证保证堡垒机安全访问IT资源
  5. 2020-数字中国创新大赛虎符网络安全赛道-Web-easy_login
  6. matlab传函转zpk形式,matlab函数定义和根轨迹绘制
  7. 3.2.3 Sqoop 数据迁移工具, 导入数据import, MySQL到HDFS/Hive, 导出数据export,增量数据导入, Sqoop job,常用命令及参数
  8. Matlab自适应均线_用MATLAB求移动平均线,不用MOVAVG函数,求MA5,MA10 – MATLAB中文论坛...
  9. 安卓期末复习——题库(一)
  10. 解决AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using local