九、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.0.4.alpha005/atc/bin && export PYTHONPATH=$PYTHONPATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/auto_tune.egg/auto_tune:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/schedule_search.egg:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp/op_impl/built-in/ai_core/tbe && export LD_LIBRARY_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/driver:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/add-ons:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/acllib/lib64:$LD_LIBRARY_PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64/stub && export SLOG_PRINT_TO_STDOUT=1 && export ASCEND_OPP_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp && /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"
2022-04-15 16:05:08  ATC start working now, please wait for a moment.
2022-04-15 16:05:23  ATC run success, welcome to the next use.
2022-04-15 16:05:24  Convert model environment variables:
2022-04-15 16:05:24  export PATH=$PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/ccec_compiler/bin:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin && export PYTHONPATH=$PYTHONPATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/auto_tune.egg/auto_tune:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/schedule_search.egg:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp/op_impl/built-in/ai_core/tbe && export LD_LIBRARY_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/driver:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/add-ons:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/acllib/lib64:$LD_LIBRARY_PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64/stub && export SLOG_PRINT_TO_STDOUT=1 && export ASCEND_OPP_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp
2022-04-15 16:05:24  Convert model command:
2022-04-15 16:05:24  /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"
2022-04-15 16:05:24  Model converted successfully.
2022-04-15 16:05:24  Model input path:/home/ascend/tag/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/caffe_model/resnet50.prototxt
2022-04-15 16:05:24  Model output path:/home/ascend/modelzoo/resnet50_zhanghui/Ascend310
2022-04-15 16:05:24  Model conversion log file path:/home/ascend/modelzoo/resnet50_zhanghui/Ascend310/ModelConvert.txt
2022-04-15 16:05:24  Copy model file to destination folder /home/ascend/tag/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/model successfully.
2022-04-15 16:05:24  Model conversion config file path:/home/ascend/modelzoo/resnet50_zhanghui/Ascend310/resnet50_zhanghui_config.json

切换到 /home/ascend/modelzoo/resnet50_zhanghui/Ascend310/resnet50_zhanghui 目录,发现om文件在这里生成了。(希望MindStudio团队把这个改下吧,毕竟这样子转换找模型貌似不方便,都已经指定了说要到model目录,还给放到其他目录)

无奈,只好手动把这个模型结果拷贝回 /home/ascend/tag/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/model目录:

cp resnet50_zhanghui.om /home/ascend/tag/samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/model/

再回到MindStudio页面:

既然这样,我们把sample_process.cpp中的模型文件改一下:

再重新编译:

运行:

对比前文(200DK模型转换)运行结果和现在(MindStudio模型转换)的运行结果:

推理结果是一模一样的。

张小白感觉,在200DK上运行atc,时间比较长,在MindStudio上运行Model Converter,却非常快,想必这个atc是在x86上运行的。

张小白在200DK上计算了一下模型转换的时间:

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

基本上要花上3-4分钟左右才能完成模型转换。

3、模型转换尝试2——YoLoV3的模型转换(使用aipp.cfg配置文件)

好了,图片分类的样例试玩了,我们再看看复杂一点的带AIPP的YoLoV3的模型转换。

参考:https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture

打开YoLoV3工程:

同样的建立caffe_model目录,并下载三个文件:

cd /home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model

wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/Yolov3/yolov3.caffemodel
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/Yolov3/yolov3.prototxt
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/YOLOV3_coco_detection_picture/aipp_nv12.cfg

由于YoLoV3的模型需要RGB输入,且模型需要416X416大小,所以带了个AIPP的配置文件.

我们同样的打开Model Converter页面,引入模型文件和权重文件:

同时改输出的模型名称:

输入这个不起作用的Output Path:

界面显示如下:

点击Next,打开Data Preprocessing:

这样不行,说所有的nodes都不支持AIPP,那应该怎么办呢?

点Previous回到前面的页面,将Type改为UINT8:

再点击Next,打开 Data Preprocessing:

我们打开Load AIPP Configuration:

并选择刚才下载的aipp_nv12.cfg文件:

结果变成了这个:

点击Next继续:

我们再对比下命令行方式跟 这个预览窗口的命令:

命令行:

atc --model=yolov3.prototxt --weight=yolov3.caffemodel --framework=0 --output=yolov3 --soc_version=Ascend310 --insert_op_conf=aipp_nv12.cfg

预览窗口:

/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin/atc --input_shape="data:1,3,416,416;img_info:1,4" --weight="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.caffemodel" --check_report=/home/ascend/modelzoo/yolov3-zhanghui/Ascend310/network_analysis.report --input_format=NCHW --output="/home/ascend/modelzoo/yolov3-zhanghui/Ascend310/yolov3-zhanghui" --soc_version=Ascend310 --insert_op_conf=/home/ascend/modelzoo/yolov3-zhanghui/Ascend310/insert_op.cfg --framework=0 --model="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.prototxt"

除了前面的output在modelzoo之外,好像还有其他的不太一样之处,比如输入的 aipp_nv12.cfg变成了 /home/ascend/modelzoo/yolov3-zhanghui/Ascend310/insert_op.cfg 还多了一个 --input_shape="data:1,3,416,416;img_info:1,4"

如果想关掉input Node(data),会告诉你不能选择UINT8 type:

经过几次尝试,只有将Input Nodes的data设为 FP16,将img_info设为UINT8

才能进入下面的页面:

这样再看看预览窗口:

比较预览的命令:

/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin/atc --input_shape="data:1,3,416,416;img_info:1,4" --weight="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.caffemodel" --input_fp16_nodes="data" --check_report=/home/ascend/modelzoo/yolov3/Ascend310/network_analysis.report --input_format=NCHW --output="/home/ascend/modelzoo/yolov3/Ascend310/yolov3" --soc_version=Ascend310 --framework=0 --model="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.prototxt"

命令行方式:

atc --model=yolov3.prototxt --weight=yolov3.caffemodel --framework=0 --output=yolov3 --soc_version=Ascend310 --insert_op_conf=aipp_nv12.cfg

貌似并没有用到aipp的cfg文件。

这么看来,只能采用 两个都改为UINT8的模式,才能正确选择 insert_op_conf

而据 @刘鹏程 老师说,这种情形是MindStudio重新生成了一个cfg文件。

那我们试一下吧:

点击Finish进行模型转换:

十几秒之后:

转换成功。MindStudio里面应该还是看不到,因为又跑到modelzoo目录下面去了:

我们把原来工程下的yolov3.om改个名字,然后将这个yoloV3.om拷贝过去:

cd ~/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/model

mv yolov3.om yolov3-200dk.om

cp ~/modelzoo/yolov3/Ascend310/yolov3.om .

因为这次我们是模型名称都没变,所以直接运行即可:

当然可以先删掉原来output目录下的图片:

然后运行推理:

点击Run:

耐心等待推理完毕:(这次运行的比较久,貌似是因为里面有1个caffee模型,两个om模型。。)

推理完毕,图片也生成了,打开看看:

好像不对了!

4、模型转换尝试3——YoLoV3的模型转换(使用附加参数方式调用aipp.cfg配置文件)

经过咨询 @刘鹏程 老师,暂时换一种方法做:

打开Model Converter页面:

在选择了modelfile之后,仅将data type改为UINT8,点击Next:

系统提示目录已经存在,选择replace:

第二页不打开,点击Next:

在第三页中,打开Additional Arguments:

并在下面录入AIPP的配置文件的参数:

--insert_op_conf=/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/aipp_nv12.cfg

此时需要点击TAB键,这时候,预览窗口会更新,增加这个参数(重要)

点击 Finish,系统开始模型转换:

十几秒之后转换完毕:

我们去终端将模型拷贝过来:

由于模型名称没变,我们直接运行即可:

推理成功。但是好像识别了5次狗。。。

打开结果图片,貌似确实如此。识别的结果都重叠了。

修改第一页的参数:

img_info改为1,1试试,同样第二页不选,跳到第三页,按上述方法填入AIPP参数文件名:

点击Finish进行模型转换:

将模型拷贝到model目录:

再重新运行推理:

好像结果是一样的。

这个结局并不完美。

5、模型转换尝试4——YoLoV3的模型转换(放弃aipp.cfg文件,使用Model Converter的Data Pre-Processing配置)

张小白心想,那就不读aipp.cfg文件,而是打开AIPP的配置,把配置做成跟aipp.cfg文件做成一样不就行了吗?

于是,张小白重新打开Model Converter:

选择两个INT8,这样才能打开下一页的AIPP:

在这一页,对比aipp.cfg文件,按照上面的方法录入Mean, Min和1/Variance参数:

尽管有好几个cfg文件的参数在 图形界面上找不到,但是死马当活马医,先这样Next下去吧:

点击Finish,开始模型转换:

把日志贴出来:

2022-04-15 19:27:08  insert op file content:
aipp_op {
related_input_rank : 0
src_image_size_w : 416
src_image_size_h : 416
crop : false
padding : false
input_format : YUV420SP_U8
aipp_mode: static
csc_switch : true
rbuv_swap_switch : false
matrix_r0c0 : 298
matrix_r0c1 : 0
matrix_r0c2 : 409
matrix_r1c0 : 298
matrix_r1c1 : -100
matrix_r1c2 : -208
matrix_r2c0 : 298
matrix_r2c1 : 516
matrix_r2c2 : 0
input_bias_0 : 16
input_bias_1 : 128
input_bias_2 : 128
mean_chn_0 : 0
mean_chn_1 : 0
mean_chn_2 : 0
min_chn_0 : 0.0
min_chn_1 : 0.0
min_chn_2 : 0.0
var_reci_chn_0 : 0.003921568627
var_reci_chn_1 : 0.003921568627
var_reci_chn_2 : 0.003921568627
}
2022-04-15 19:27:08  Start to convert model
2022-04-15 19:27:08  export PATH=$PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/ccec_compiler/bin:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin && export PYTHONPATH=$PYTHONPATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/auto_tune.egg/auto_tune:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/schedule_search.egg:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp/op_impl/built-in/ai_core/tbe && export LD_LIBRARY_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/driver:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/add-ons:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/acllib/lib64:$LD_LIBRARY_PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64/stub && export SLOG_PRINT_TO_STDOUT=1 && export ASCEND_OPP_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp && /home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin/atc  --input_shape="data:1,3,416,416;img_info:1,4" --weight="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.caffemodel" --check_report=/home/ascend/modelzoo/yolov3/Ascend310/network_analysis.report --input_format=NCHW --output="/home/ascend/modelzoo/yolov3/Ascend310/yolov3" --soc_version=Ascend310 --insert_op_conf=/home/ascend/modelzoo/yolov3/Ascend310/insert_op.cfg --framework=0 --model="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.prototxt"
2022-04-15 19:27:08  ATC start working now, please wait for a moment.
2022-04-15 19:27:25  ATC run success, welcome to the next use.
2022-04-15 19:27:26  Convert model environment variables:
2022-04-15 19:27:26  export PATH=$PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/ccec_compiler/bin:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin && export PYTHONPATH=$PYTHONPATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/auto_tune.egg/auto_tune:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/python/site-packages/schedule_search.egg:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp/op_impl/built-in/ai_core/tbe && export LD_LIBRARY_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/driver:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/add-ons:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/acllib/lib64:$LD_LIBRARY_PATH:/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/lib64/stub && export SLOG_PRINT_TO_STDOUT=1 && export ASCEND_OPP_PATH=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/opp
2022-04-15 19:27:26  Convert model command:
2022-04-15 19:27:26  /home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/atc/bin/atc  --input_shape="data:1,3,416,416;img_info:1,4" --weight="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.caffemodel" --check_report=/home/ascend/modelzoo/yolov3/Ascend310/network_analysis.report --input_format=NCHW --output="/home/ascend/modelzoo/yolov3/Ascend310/yolov3" --soc_version=Ascend310 --insert_op_conf=/home/ascend/modelzoo/yolov3/Ascend310/insert_op.cfg --framework=0 --model="/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.prototxt"
2022-04-15 19:27:26  Model converted successfully.
2022-04-15 19:27:26  Model input path:/home/ascend/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/caffe_model/yolov3.prototxt
2022-04-15 19:27:26  Model output path:/home/ascend/modelzoo/yolov3/Ascend310
2022-04-15 19:27:26  Aipp config file path:/home/ascend/modelzoo/yolov3/Ascend310/insert_op.cfg
2022-04-15 19:27:26  Model conversion log file path:/home/ascend/modelzoo/yolov3/Ascend310/ModelConvert.txt
2022-04-15 19:27:26  Model conversion config file path:/home/ascend/modelzoo/yolov3/Ascend310/yolov3_config.json

对比了一下,好像matrix开头的不一样,rbuv_swap_switch不一样,其他基本一样。

继续将模型拷贝到model目录下:

(这里可以看到张小白试了多少次了吧。。。)

那就开始试试运行一下,看看推理结果吧:

这次好像很有希望。

打开图片一看:

终于获得了跟 前文的200DK模型转换后的离线模型一样的结果了。

撒花,先休息吧。

(未完待续)

玩转Atlas200DK(九)ATC模型转换相关推荐

  1. 极智AI | 昇腾 CANN ATC 模型转换

      欢迎关注我的公众号 [极智视界],获取我的更多笔记分享   大家好,我是极智视界,本文介绍一下 昇腾 CANN ATC 模型转换.   昇腾 CANN 的全称是 Compute Architect ...

  2. JavaScript玩转机器学习:模型转换

    JavaScript玩转机器学习:模型转换 模型转换 TensorFlow.js 配备了各种预训练模型,这些模型可以在浏览器中使用,模型仓库 中有相关介绍.但是,您可能已经在其他地方找到或创建了一个 ...

  3. 数据科学和人工智能技术笔记 九、模型验证

    九.模型验证 作者:Chris Albon 译者:飞龙 协议:CC BY-NC-SA 4.0 准确率 # 加载库 from sklearn.model_selection import cross_v ...

  4. UML总结之九种模型图

                   UML视频中关于九种图的视频已经看完,在开始RUP的视频之前,我想先把这部分做个总结,或许是一个"归零"的过程,要不然这块的学习会乱到不可理的.   ...

  5. UML 的九种模型图

    1. UML的模型图     UML的模型图能够将被建模的系统的某一个方面的某一部分以图形的方式表示出来,不同的视图通过将多个不同的模型图有机组合在一起就能够描述系统模型的某方面的特征.UML的模型图 ...

  6. Atlas 200 DK 系列 --高级篇--模型转换

    一.模型转换工具的介绍与操作演示–模型转换OMG介绍 Atlas200DK平台中提供了模型转换工具(OMG).可以将caffe.Tensorflow等开源框架模型转换成Atlas200DK支持的模型, ...

  7. Atlas深度学习模型转换及运行

    转换方法 有两个主流的方法 onnx->Caffe Model->om(最主流) onnx->om 使用第一种方法看似麻烦,多了一步,但其实这种转换方式的好处有很多 可以通过修改pr ...

  8. 轻松入门模型转换和可视化

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文给大家介绍一个模型转换格式ONNX和可视化工具Netron.ONNX是微软设计的一种多平台的通用文 ...

  9. 模型转换状态已支持Webhook!

    各位朋友知道,使用Forge转换服务得到Forge Viewer格式,在提交转换请求后,需要再有一个过程,调用另外一个服务,定期询问是否转换完毕.这种方式对于应用程序本身并不是很有效率,而且为避免任务 ...

最新文章

  1. oracle将多行转成多列,oracle 多行转多列查询
  2. SAP SM12 解锁Lock Table
  3. 只会用单片机点灯,很丢人吗?
  4. python每天定时9点执行_python每天定时运行某程序代码
  5. SMTP协议原始命令码和工作原理
  6. 源码编译打包_Atlas 2.1.0 实践(1)—— 编译Atlas
  7. 每个时代都有每个时代的风口
  8. c语言学籍管理实验报告,c语言实验报告(学生学籍管理系统)
  9. 2021【第十二届蓝桥杯省赛】 C/C++ B组(第一场)
  10. Simply Fortran 保姆级教程
  11. 此更新不适用你的计算机
  12. HTML5七夕情人节表白网页制作【圣诞节3d相册】HTML+CSS+JavaScript 圣诞节3D相册代码表白制作
  13. 进政府网站要求IE8浏览器,IE8浏览器进不去,使用IE进政府机构网站提示非法进入提示不能直接使用URL进入网址,windows10安装IE8提示系统不支持【解决办法】
  14. C2:Unity3D制作智能家居设计软件——绘制户型(一)
  15. 面板数据,面板数据的三种基本模型
  16. 计算机表格填充,Excel表格中数据填充功能的使用方法
  17. adb命令刷机vivox20_vivo手机如何双清?vivo双wipe刷机教程
  18. Accuracy和Precision的区别
  19. 机器朗读发音电脑说话
  20. [笔录]博客及源程序 出处

热门文章

  1. SQLSever期末考试作业复习卷一
  2. iOS XCode 解决 Showing Recent Messages :-1: Unable to load contents of file list
  3. php 和mysql中文乱码问题,常见php与mysql中文乱码问题解决办法
  4. rsync 匹配通配符 * 失败 link_stat failed: No such file or directory
  5. WordPress备案链接工信部官网
  6. 视频点播系统搭建有哪些可选方案?
  7. ubuntu安装好后第二步:安装极点五笔(支持五笔、拼音混输)和更新浏览器
  8. vue中纯前端实现滑动图片验证的方式
  9. Unix系统下修改密码
  10. 经典批处理教程(转)