【2023 · CANN训练营第一季】- 应用开发深入讲解 第一节 学习笔记_环球微资讯
2023-05-17 07:02:38 来源:哔哩哔哩
一、学习目标
1.了解模型转换的原因
(资料图)
2.了解模型推理过程如何进行数据传输
3.了解模型推理步骤及代码逻辑
4.掌握模型转换工具的使用方法及常用参数意义
5.了解AIPP并掌握AIPP的使用方法
二、应用开发流程
三、模型转换
1. 模型转换的原因
当前昇腾AI处理器以及昇腾AI软件栈是没有办法直接拿比如Caffe,TensorFlow等开源框架网络模型来直接进行推理的,想要进行推理则需要做一步模型转换的步骤,将开源框架的网络模型转换成Davinci架构专用的模型。
2. ATC工具介绍
昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是昇腾CANN架构体系下的模型转换工具:
它可以将开源框架的网络模型(如Caffe、TensorFlow等)以及Ascend IR定义的单算子描述文件转换为昇腾AI处理器支持的离线模型。
模型转换过程中,ATC会进行算子调度优化、权重数据重排、内存使用优化等具体操作,对原始的深度学习模型进行进一步的调优,从而满足部署场景下的高性能需求,使其能够高效执行在昇腾AI处理器上。
3. ATC工具使用流程
四、AIPP
1.介绍
AIPP(Artificial Intelligence Pre-Processing)人工智能预处理,用于在AI Core上完成数据预处理,包括改变图像尺寸、色域转换(转换图像格式)、均减值/乘系数(改变图像像素),数据预处理之后再进行真正的模型推理。
AIPP根据配置方式不同 ,分为静态AIPP和动态AIPP;如果要将原始图片输出为满足推理要求的图片格式,则需要使用色域转换功能;如果要输出固定大小的图片,则需要使用AIPP提供的Crop(抠图)、Padding(补边)功能。
2. 静态AIPP和动态AIPP
在使能AIPP功能时,只能选择静态AIPP或动态AIPP方式来处理图片,不能同时配置静态AIPP和动态AIPP两种方式,使能AIPP时可以通过aipp_mode参数控制。
静态AIPP:模型转换时设置AIPP模式为静态,同时设置AIPP参数,模型生成后,AIPP参数值被保存在离线模型中,每次模型推理过程采用固定的AIPP预处理参数进行处理,而且在之后的推理过程中无法通过业务代码进行直接的修改。
如果使用静态AIPP方式,多batch情况下共用同一份AIPP参数。
动态AIPP:模型转换时设置AIPP模式为动态,每次在执行推理前,根据需求动态修改AIPP参数值,然后在模型执行时可使用不同的AIPP参数。动态AIPP参数值会根据需求在不同的业务场景下选用合适的参数。(在模型转换时设置了动态AIPP,则使用应用工程进行模型推理时,需要在aclmdlExecute接口之前,调用aclmdlSetInputAIPP接口,设置模型推理的动态AIPP数据。)
3. AIPP位置及输入
模型转换后第一层为AIPP;进行推理时,与AIPP连接的输入节点数据格式被强制改为NHWC,可能与atc转换命令—input_format参数指定的格式不同。
4. AIPP剪裁/填充
AIPP改变图片尺寸时,先Crop再Padding,每个操作仅能执行一次。
场景功能:输入到AlPP中的图片尺寸为srclmageSizeW,srclmageSizeH;模型要求的图片尺寸为dstlmageSizeW、dstlmageSizeH。
Crop操作:在原图中距离左上角宽load_start_pos_w,高load_start_pos_h距离的点裁剪出宽为crop_size_w,高为crop_size_h大小的图片。
Paste操作:指明在裁剪后的图像四周padding的尺寸,即left_padding_size、right_padding_size、top_padding_size和bottom_padding_size。而经过图像尺寸改变之后最终图片大小,需要跟模型文件输入的图像大小即模型要求的图片尺寸dstlmageSizeW、dstlmageSizeH相等。
其中,对于YUV420SP_U8图片类型,load_start_pos_w、load_start_pos_h参数必须配置为偶数。
开启Crop且没有配置padding,crop_size_w和crop_size_h才能取值为0或不配置。
此时抠图大小(crop_size[W|H])的宽和高取值来自模型文件--input_shape中的宽和高,并且--input_shape中的宽和高取值范围为[1,4096]。
通过这样的简单配置,就可以自动将输入的图片裁剪成模型要求的图片大小,避免输入预处理后的图片与模型要求的图片大小不一致的问题。但可能会带来丢失一部分原始图片而导致的精度损失问题。
5. AIPP色域转换
色域转换功能由csc_switch参数控制,并通过色域转换系数matrix_rc、通道交换rbuv_swap_switch等参数配合使用。
AIPP中,一旦确认了AIPP处理前与AIPP处理后的图片格式,即可确定色域转换相关的参数值,无需修改。
6. AIPP归一化
归一化就是要把需要处理的数据经过处理后限制在一定范围内,方便后面数据的处理。AIPP支持的归一化设置,通过减均值和乘系数的操作完成。其中,mean_chn_i表示每个通道的均值,min_chn_i表
示每个通道的最小值,var_reci_chm表示每个通道方差的倒数,各通路的这三个值都是需要进行配置的参数。
min_chn_i对应哪一个通道,取决于色域转换的结果。
五、模型转换基本场景及参数介绍
1.场景说明
模型:pytorch框架的ResNet-50开源模型
输入数据:RGB格式、224*224分辨率的输入图片。
输出数据:图片的类别标签及其对应置信度。
归一化:需要进行减均值([0.485,0.456,0.406])及乘系数([0.229,0.224,0.225])操作
2.不使用AIPP进行模型转换
转换命令:
经过模型转换后,输出的om模型和原始模型输入输出数据一致。此时数据预处理需要将数据处理为RGB格式、缩放到224*224分辨率、数据进行归一化后才能送入om模型进行推理。
3.使用AIPP进行模型转换
AIPP配置:
转换命令:
经过模型转换后,输出的om模型和原始模型输入不一致,输出数据一致。此时数据预处理需要将数据处理为RGB格式、缩放到224*224分辨率后即可送入om模型进行推理。此时om会先通过AIPP进行归一化,然后再继续推理。
4.参数说明
--model
原始网络模型文件路径与文件名。当原始模型为Caffe框架时,需要和--weight参数配合使用。
# Caffe模型
--model=resnet50.prototxt
--weight=resnet50.caffemodel
# MindSpore模型
--model=resnet50.air
# pb模型
--model=resnet50.pb
# onnx模型
--model=resnet50.onnx
--framework
原始网络模型框架类型。
--framework=0:Caffe框架网络模型
--framework=1:MindSpore框架网络模型
--framework=3:TensorFlow框架网络模型
--framework=5:ONNX格式网络模型
--input_format
输入数据格式。Caffe、ONNX默认为NCHW;TensorFlow默认为NHWC。该参数一般不需要填写,直接使用默认值即可,但是该参数存在以下限制:
(1). 如果TensorFlow模型是通过ONNX模型转换工具输出的,则该参数必填,且值为NCHW。
(2). 当原始框架为MindSpore时,只支持配置为NCHW。
(3).如果模型转换时开启AIPP,在进行推理业务时,输入图片数据要求为NHWC排布,该场景下最终与AIPP连接的输入节点的格式被强制改成NHWC,可能与atc模型转换命令中——input_format参数指定的格式不一致
--input_shape
指定模型输入数据的shape,格式为“input_name:n,c,h,w";
(1)模型有多个输入,则不同输入之间使用英文分号分隔;input_name必须是转换前的网络模型中的节点名称。
(2)原始模型中输入数据的某个维度不固定,例如input_name1:?,h,w,c,该参数必填。其中“?”为batch数,表示一次处理的图片数量
--output
当进行开源框架的网络模型转换时,填写输出的离线模型的路径以及文件名;转换后的模型文件名以该参数指定的为准,自动以.om后缀结尾。
--insert_op_conf
填写插入算子的配置文件路径与文件名,例如aipp预处理算子。
--insert_op_conf=aipp.cfg
--soc version
填写模型转换时昇腾A|处理器的版本。参数使用参考示例如下:
#异腾310Al处理器使用示例
--soc version=Ascend310
#昇腾310PAI处理器使用示例
--soc version=Ascend310P3
#昇腾910Al处理器使用示例
--s0c version=Ascend910A
六、其他场景及参数介绍
1.单算子模型转换
2.将原始模型或离线模型转成json文件
3.查询离线om模型的详细信息
关键词:
为你推荐
-
【2023 · CANN训练营第一季】- 应用开发深入讲解 第一节 学习笔记_环球微资讯
-
工厂有了“大脑”,“哑”设备能“讲话”了!_今日播报
-
新天药业: 关于2021年限制性股票激励计划部分限制性股票回购注销完成的公告
-
全球热消息:该应用未获得qq登录的权限怎么了_该应用未获得qq登录的权限
-
落花林心如女声版_落花林心如-快看点
-
与扶霞一起“寻味东西” 当前热门
-
微资讯!楷书四大家的书法特点思维导图 楷书四大家的书法特点
-
不愧安卓“亲儿子”:谷歌迅速修复Pixel系列耗电Bug_天天百事通
-
如何修复染色木门划痕_爸爸送女儿18岁生日礼物送什么好呢
-
天天百事通!蟹爪仙人掌的特点和作用_蟹爪仙人掌
-
退休工资要交个人所得税吗 退休金要缴个税吗
-
广西发文力推这项事业,还设立百万元重奖
-
天天速递!金城医药(300233)5月10日股东户数2.93万户,较上期增加1.15%
-
普尔谈与追梦关系:只是队友 只是生意 一直都是如此
-
梦天家居(603216.SH):整体家居行业市场并不局限于新建住宅的装修
-
餐饮浪费势头得到初步遏制,拒绝“舌尖上的浪费”_天天快播
-
谢中书给陶弘景的信 全球即时看
-
北京:专场招聘会服务退役大学生士兵 提供3400余岗位
-
据下图可知-中国青铜器铸造的顶峰时期是哪个朝代 a夏b战国c周d商-每日热闻
-
一举斩获销量冠军!解读阿维塔11成功背后的秘密 每日热门
推荐内容
- 【2023 · CANN训练营第一季】- 应用开发深入
- 工厂有了“大脑”,“哑”设备能“讲话”了!_今
- 新天药业: 关于2021年限制性股票激励计划部分限
- 全球热消息:该应用未获得qq登录的权限怎么了_该
- 落花林心如女声版_落花林心如-快看点
- 与扶霞一起“寻味东西” 当前热门
- 微资讯!楷书四大家的书法特点思维导图 楷书四大
- 不愧安卓“亲儿子”:谷歌迅速修复Pixel系列耗电B
- 如何修复染色木门划痕_爸爸送女儿18岁生日礼物送
- 天天百事通!蟹爪仙人掌的特点和作用_蟹爪仙人掌
- 退休工资要交个人所得税吗 退休金要缴个税吗
- 广西发文力推这项事业,还设立百万元重奖
- 天天速递!金城医药(300233)5月10日股东户数2.93
- 普尔谈与追梦关系:只是队友 只是生意 一直都是
- 梦天家居(603216.SH):整体家居行业市场并不局限
- 餐饮浪费势头得到初步遏制,拒绝“舌尖上的浪费”
- 谢中书给陶弘景的信 全球即时看
- 北京:专场招聘会服务退役大学生士兵 提供3400余
- 据下图可知-中国青铜器铸造的顶峰时期是哪个朝代
- 一举斩获销量冠军!解读阿维塔11成功背后的秘密
- 《浪姐4》职场霸凌徐怀钰?这一次,节目组真的有
- 异动快报:嘉欣丝绸 0024049月1日10点8分封涨停板
- 全球热议:6月16日,战略领导力第六期A班 正式启航
- 鸿合科技:全力出击幼教市场,激活第二成长曲线-
- 咸宁市两户家庭获评全国最美家庭|天天观天下
- 微信删除的文件怎么恢复电脑 微信删除的文件怎么
- 江南等地将有明显降雨 北方地区有强对流_世界简讯
- 知名房企,宣布违约!7.5亿“甩卖”上海4个项目,
- 广发期货:钢材产量韧性仍存,铁矿石盘面或向上修
- 怎么看ip地址是否正确_怎么看ip地址
- 英国 CMA:欧盟批准微软收购动视暴雪是一个错误
- 建设机械(600984):5月15日北向资金减持6.66万股
- 花鲢火锅底料的正宗配方?
- 日本抗议无效,秦刚就亮出琉球不属日本的铁证,解
- 全国爱牙日手抄报内容文字_全国爱牙日手抄报
- “互换通”15日正式上线! 多家银行完成首笔交易
- “中特估”开启新一轮攻势,现在想入局,锁定 1
- 锦泰保险总经理任瑞洪辞职 继续担任董事长职务
- 柱子的加密区长度规定
- 天天时讯:上海博物馆藏宋元古籍展开幕在即 多件
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中国税务机关处罚一名艺人经纪人 中新社北京10月18日电 (记者 赵建华)上海市税务局第一稽查局前期在艺人郑爽偷逃税案件检查过程中
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市
-
中新网安徽黄山10月18日电 (刘浩 黄启宝 汪娜)10月17日至18日,安徽省黄山市当地民警先后救助国家一级保护动物白锦长尾稚和野生梅花