0


口罩检测——模型转换(4)

文章目录


前言

  每个框架都有自己的模型格式,有自己的一套风格,怎么在这些框架之间自由的游走呢?这就是本次课程的要解决的问题,把paddlepaddle模型转成OpenVINO能使用的模型文件。

一、可视化模型

  把上节课下载的四个文件打包进ppyoloe_crn_s_80里面。虽然文件夹名字有点长,但是通过名字就大概知道是什么版本的模型,训练了多久,何乐而不为?

在这里插入图片描述
  进入模型可视化网站,选择我们上一课程训练好的模型。

在这里插入图片描述
  可以看到模型输入是3x640x640,3是图像的通道,也就是说我们传入的图像是有色图。

在这里插入图片描述
  定位到模型的输出,在可视化图像的最下方,我们要找到需要模型减支的地方。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、模型减支

  模型减支的目的就是从输入到两个输出concat_14.tmp_0,tmp_16为止,后面的节点都删掉。在模型减支工具的paddle目录下打开cmd。

在这里插入图片描述
  激活满足本项目要求的虚拟环境。

在这里插入图片描述
  我们将运行这个模型减支py文件。

在这里插入图片描述
  运行以下命令。

python prune_paddle_model.py --model_dir ppyoloe_crn_s_80 --model_filename model.pdmodel --params_filename model.pdiparams --output_names tmp_16 concat_14.tmp_0 --save_dir export_model

在这里插入图片描述
  运行过后新增一个减支完成的模型文件夹。

在这里插入图片描述
  再次打开可视化工具查看模型的情况。可以看到我们保留的两个节点作为输出,部分节点被减掉了。

在这里插入图片描述

三、模型转化

  先把paddle模型转换为onnx,需要在环境里面提前安装paddle2onnx。执行以下命令。

paddle2onnx --model_dir export_model --model_filename model.pdmodel --params_filename model.pdiparams --input_shape_dict "{'image':[1,3,640,640]}" --opset_version 11 --save_file ppyoloe_crn_s_80.onnx

在这里插入图片描述
  执行生成的ppyoloe_crn_s_80.onnx。

在这里插入图片描述
  onnx转xml,bin(OpenVINO)。

mo --input_model ppyoloe_crn_s_80.onnx

在这里插入图片描述
  执行结果。

在这里插入图片描述


总结

  OpenVINO的模型准备就绪,赶紧上车,拉好扶手,注意安全。


本文转载自: https://blog.csdn.net/weixin_43828944/article/details/129871084
版权归原作者 FPGA中国创新中心 所有, 如有侵权,请联系我们删除。

“口罩检测——模型转换(4)”的评论:

还没有评论