Atlas500------模型转换(二)
参考 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. 系统模型。2.控制目标。3.模型转换。
[控制]多智能体系统总结.1. 系统模型.2.控制目标.3.模型转换. [控制]多智能体系统总结.4.控制协议. [控制]多智能体系统总结.5.系统合并. 文章目录 1. 系统模型 1.1 一阶一维系 ...
- django模型——数据库(二)
模型--数据库(二) 实验简介 模型的一些基本操作,save方法用于把对象写入到数据库,objects是模型的管理器,可以使用它的delete.filter.all.order_by和update等函 ...
- linux caffe生成的模型,深度学习之pytorch转caffe转ncnn模型转换(三)
搭建caffe平台: 先在Linux系统下搭建caffe环境,安装依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy- ...
- 转换onnx_模型转换工具X2Paddle操作大全
深度学习的应用主要包括两个部分,一是通过深度学习框架训练出模型,二是利用训练出来的模型进行预测. 开发者基于不同的深度学习框架能够得到不同的训练模型,如果想要基于一种框架进行预测,就必须要解决不同框架 ...
- (四)使用OpenCV实现图像彩色模型转换
(四)使用OpenCV实现图像彩色模型转换 全文介绍部分引自<数字图像处理>第六章 1.彩色基础 彩色光在电磁波中的波长范围是400-700nm.人眼中的锥状体负责色觉的感知,实验发现,人 ...
- yolo模型转换:pytorch -> onnx -> caffe
第一步:pytorch转onnx(pytorch版,yolov3-9.0开始提供脚本export.py) (1)设置onnx算子版本(按需) 修改代码: torch.onnx.export(model ...
- 原理 | 分布式链路跟踪组件 SOFATracer 和 Zipkin 模型转换
SOFA 中间件是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链 ...
- 模型转换、压缩、加速工具
20210618 sky_hole: 回成都工作了吗?wang shi yang: 嗯 我现在已经在成都上班了sky_hole: 不用付费,我之前发你的视频你好好看看就可以入门了sky_hole: 成 ...
- 【地平线开发板 模型转换】将pytorch生成的onnx模型转换成.bin模型
文章目录 1 获取onnx模型 2 启动docker容器 3 onnx模型检查 3.1 为什么要检查? 3.2 如何操作 4 图像数据预处理 4.1 一些问题的思考 4.2 图片挑选与放置 4.2 使 ...
- 喜大普奔!CATIA to SuperMap 模型转换插件横空出世!
概述 目前CATIA BIM与SuperMap GIS集成并没有直接有效的解决方法,通常是通过中间格式进行数据对接,几何与属性需分步进行,不但费时费力,还易丢失产品数据.CATIA BIM 模型转换工 ...
最新文章
- 一句话搞定python六剑客
- Android6.0 wakelock深入分析
- mysql8.0.13 32位下载_MySQL8.0下载-MySQL数据库8.0下载 v8.0.11官方版(32位/64位)--pc6下载站...
- hadoop 操作(二)
- 第八章节 文件操作一 (文件常用操作)
- mongoVue破解版
- 生活记录:其实超度的是活着的人
- 张鹏:腾讯云直播PCDN加速方案(附视频回放)
- 新型循环神经网络IndRNN:可构建更长更深的RNN
- 【Matlab】牛顿迭代法实现
- c语言中x=y=100合法吗,【单选题】已知:int x; int y[10]; 下列合法的选项是( )。
A. x
B. (x+3)
C. 5
D. y...
- Yigo平台中系统自带的五个系统字段值
- LightGBM 原理、代码最全解读!
- 容斥原理之求区间中与某数互质的个数
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中
- 【经典面试题】vue2与vue3的区别
- 利用word宏命令来自动化缩写期刊名称
- git获取增量代码流程
- C语言实现员工管理系统
- PTA 7-5 最大公约数和最小公倍数 (10 分)
热门文章
- 计算机常识--Linux篇
- python fetchall方法_Python(SQLite)fetchone、fetchmany和fetchall用法
- 利用python分析2018智联招聘全国各个城市的职位数排名
- 【高效运维篇】如何通过双因子认证保证堡垒机安全访问IT资源
- 2020-数字中国创新大赛虎符网络安全赛道-Web-easy_login
- matlab传函转zpk形式,matlab函数定义和根轨迹绘制
- 3.2.3 Sqoop 数据迁移工具, 导入数据import, MySQL到HDFS/Hive, 导出数据export,增量数据导入, Sqoop job,常用命令及参数
- Matlab自适应均线_用MATLAB求移动平均线,不用MOVAVG函数,求MA5,MA10 – MATLAB中文论坛...
- 安卓期末复习——题库(一)
- 解决AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using local