浅谈mobilenet网络在工业数据分类中的应用

来源:投稿 作者:某一个名字
编辑:学姐

导语

Mobilenet作为轻量化模型的代表,目前大量用于分类与语义分割中的特征提取,由于其很小的参数量,工业部署时在计算效率方面有着较大的优势。Mobilenet系列有v1、v2、v3三个版本,使用较多的是v2、v3,现在就以mobilenetv2分类模型为例介绍下工业应用时的流程以及涉及到的工具链。

1、代码的获取

1.1 这里推荐使用的代码库为

https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_classification/Test6_mobilenet

1.2 版本选择

2、环境安装

环境安装教程以及注意事项可参考本人的另一篇分享文章《基于deeplabv3+的工业应用流程分析》。

3、模型训练

3.1训练数据处理

1)首先根据自己的数据集更改class_indices.json中类别名称,例如猫狗分类:

{
 "0": "cat",
 "1": "dog"
 }

2)数据分类存放,每一种类的数据图片放在同一个文件夹下即可。

3.2 模型训练

该代码库对于模型训练参数的更改设置均在train.py文件中,通常给出自己数据集的路径即可。

4、模型导出

目前模型部署的工具有很多例如openvino、libtorch、tensorrt、onnxruntime、opencvdnn等,上一篇分享是基于libtorch进行部署的,现在就以openvino为例来说明下分类模型部署的流程。

4.1 pth转onnx

5、模型部署

5.1 基于Windows的openvino安装以及vs2019配置

openvino安装教程

1.下载与安装

下载地址

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit-download.html?operatingsystem=window&distributions=webdownload

2.选择版本安装

选择新的版本,本文已openvino_2021.2.185为例,下载得到w_openvino_toolkit_p_.exe文件,点击extract,然后一路默认下一步安装,直至安装完成。

3.系统环境变量配置

环境变量中加入如下四项,版本不同的话只需修改版本名即可:

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\external\tbb\bin

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\bin\intel64\Release

C:\Program Files (x86)\Intel\openvino_2021.2.185\deployment_tools\ngraph\lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\bin

4.vs2019配置openvino

配置如下说明所示,版本不同的话只需修改版本名即可:

首先修改VS编译为release版本下的x64

VC++-目录

包含目录:

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\include

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\include

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\include\opencv2

库目录

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib

链接器-输入

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_c_api.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_ir_reader.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_legacy.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_lp_transformations.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_onnx_reader.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_preproc.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\deployment_tools\inference_engine\lib\intel64\Release\inference_engine_transformations.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_calib3d451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_core451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_dnn451.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_features2d451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_flann451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_gapi451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_highgui451.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_imgcodecs451.lib

C:\ProgramFiles (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_imgproc451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_ml451.lib

C:\ProgramFiles(x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_objdetect451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_photo451.lib

C:\ProgramFiles (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_stitching451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_video451.lib

C:\Program Files (x86)\Intel\openvino_2021.2.185\opencv\lib\opencv_videoio451.lib

至此基于Windows的openvino安装以及vs2019配置已完成,接下来就可以开始计算机视觉模型的部署工作了。

5.2 基于openvino的部署代码如下

首先创建一个image_classes.txt文件,里面写好类别,例如:

基于openvino的分类模型CPU部署的代码属于通用代码,任何模型均可使用。

结语

mobilenet网络在工业数据分类中的应用就这样实现了,这是本人对于分类网络的探索应用,后续再介绍最后一种目标检测网络,还有很多需要指正的地方,希望大家一起加油,谢谢!

关注👇公众号【学姐带你玩AI】

回复“轻量化”获取mobilenet论文+代码数据集

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值