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

文章目录

  • 前言
  • 一、可视化模型
  • 二、模型减支
  • 三、模型转化
  • 总结


前言

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

一、可视化模型

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

口罩检测——模型转换(4)_第1张图片
  进入模型可视化网站,选择我们上一课程训练好的模型。

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

口罩检测——模型转换(4)_第2张图片
  定位到模型的输出,在可视化图像的最下方,我们要找到需要模型减支的地方。

口罩检测——模型转换(4)_第3张图片

口罩检测——模型转换(4)_第4张图片

口罩检测——模型转换(4)_第5张图片

二、模型减支

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

口罩检测——模型转换(4)_第6张图片
  激活满足本项目要求的虚拟环境。

口罩检测——模型转换(4)_第7张图片
  我们将运行这个模型减支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

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

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

口罩检测——模型转换(4)_第8张图片

三、模型转化

  先把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的模型准备就绪,赶紧上车,拉好扶手,注意安全。

你可能感兴趣的:(人工智能,目标检测,openvino)