玩转Atlas200DK(九)ATC模型转换

本文详细记录了如何在MindStudio 3.0.4中转换Caffe的ResNet50和YOLOV3模型,包括不带AIPP的转换过程,以及使用AIPP配置文件的复杂案例,最终实现与200DK命令行转换一致的离线模型生成。

九、MindStudio 3.0.4的模型转换

1、背景

在前文

张小白:玩转Atlas 200DK(四)MindStudio安装与配置0 赞同 · 0 评论文章正在上传…重新上传取消

《使用MindStudio打开resnet50_imagenet_classification样例工程》一节中,张小白为了生成200DK所需要的离线模型,是直接在运行环境200DK上用命令行完成了相关的转换功能:

张小白:玩转Atlas 200DK(五)OpenCV的安装0 赞同 · 0 评论文章正在上传…重新上传取消

《使用MindStudio运行YoLoV3样例工程》一节中,也是如此。

但这件事情,其实在MindStudio上也是可以完成的。我们现在就来做一下尝试。

2、模型转换尝试1——resnet50的模型转换(不带AIPP的模型转换)

使用MindStudio打开 resnet50_imagenet_classification 样例工程:

我们建一个caffe_model的目录,将caffe模型的文件下载下来:

wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.prototxt

wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.caffemodel

打开Ascend菜单,点击Model Converter:

会弹出以下界面:

ModelFile选择以下内容:

系统自动弹出以下内容:

将Output Path打开,选择转换后的模型存放model目录:

当然这个时候跟原来的om重名了,我们可以改个名字:

改为:

点击Next:

这里我们暂时不需要AIPP,所以选择Next:

查看上面的预览窗口:

/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin/atc --input_shape="data:1,3,224,224" --weight="/home/ascend/tag/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/caffe_model/resnet50.caffemodel" --input_fp16_nodes="data" --check_report=/home/ascend/modelzoo/resnet50_zhanghui/Ascend310/network_analysis.report --input_format=NCHW --output="/home/ascend/modelzoo/resnet50_zhanghui/Ascend310/resnet50_zhanghui" --soc_version=Ascend310 --framework=0 --model="/home/ascend/tag/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/caffe_model/resnet50.prototxt"

我们对比下 https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification

提供的命令行命令参数:

atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --output=model/resnet50 --soc_version=Ascend310 --input_format=NCHW --input_fp16_nodes=data --output_type=FP32 --out_nodes=prob:0

好像缺少output_type和out_nodes两个参数。这个暂时不管(?)

再核对下,貌似output路径也不对,明明输入的是:

/home/ascend/tag/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/model

预览窗口却显示:

/home/ascend/modelzoo/resnet50_zhanghui/Ascend310/resnet50_zhanghui

感觉先需要创建一下/home/ascend/modelzoo/resnet50_zhanghui/Ascend310/ 这个目录。否则转换应该会报错:

我们点击Finish开始转换吧:

好像很快就转换完成了:

将转换日志贴出来看一下:

2022-04-15 16:05:08  Start to convert model
2022-04-15 16:05:08  export PATH=$PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/ccec_compiler/bin:/home/ascend/Ascend/ascend-toolkit/5
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小白TWO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值