口罩检测——模型转换(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的模型准备就绪,赶紧上车,拉好扶手,注意安全。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值