当前位置: 代码迷 >> 综合 >> tensorflow/models-v1.12.0中使用ssdlite_mobilenet_v3_large
  详细解决方案

tensorflow/models-v1.12.0中使用ssdlite_mobilenet_v3_large

热度:16   发布时间:2023-10-26 00:20:52.0

为什么非要执着于tensorflow1.12.0呢,因为可以在cuda9.0上啊。而且经常会分布一些新的模型,不能总去迎合版本吧,毕竟服务器中cuda版本换的话,很麻烦。

0.环境

ubuntu16.04
python3.6
cuda9.0
cudnn7.6.1
tensorflow-gpu==1.12.0
models==1.12.0

1.准备

1.1 下载ssdlite_mobilenet_v3_large预训练模型

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md

并解压复制到远程服务器我们放模型的路径:

1.2 下载models-master、修改自己config项目配置(需要其中的几个文件)

(1)将其中的models-master\research\object_detection\samples\configs\ssdlite_mobilenet_v3_large_320x320_coco.config复制到Config\ssdlite_mobilenet_v3_large_pretrain_16_dataAug_320_mergedata目录下;

(2)修改ssdlite_mobilenet_v3_large_320x320_coco.config文件适配到我们自己的数据(输入数据、类别、预训练模型路径);

2.修改

2.1 添加文件models中

复制三个文件到models-1.12.0对应的目录下。

Step2

参考models-master修改/research/object_detection/builders/model_builder.py

添加以下模型导入

from object_detection.models.ssd_mobilenet_v3_feature_extractor import SSDMobileNetV3LargeFeatureExtractor
from object_detection.models.ssd_mobilenet_v3_feature_extractor import SSDMobileNetV3SmallFeatureExtractor

Step3

在/research/object_detection/builders/model_builder.py添加'ssd_mobilenet_v3_large':SSDMobileNetV3LargeFeatureExtractor,'ssd_mobilenet_v3_small':SSDMobileNetV3SmallFeatureExtractor,

 

2.2 修改/models/ssd_mobilenet_v3_feature_extractor.py等

step1

import tensorflow.compat.v1 as tf
为
import tensorflow as tf

 

Step2

添加

slim = tf.contrib.slim

step3

注释

# import tf_slim as slim

2.3 添加mobilenet_v3文件

Step1

\research\slim\nets\mobilenet目录下面两个文件复制到对应目录下,将

Step2

修改mobilenet_v3.py

为:

Step3

添加slim = tf.contrib.slim

Step4:

修改\research\slim\nets\mobilenet\conv_blocks.py文件中squeeze_excite添加到对应目录下

修改\research\slim\nets\mobilenet\conv_blocks.py文件中expanded_conv添加到对应目录下

3.训练正常

4.推理正常

 

 

 

  相关解决方案