【part3】Tensorflow Object detection API Win10使用教程(如何换一个模型进行训练?)

前言:

前面part1~part2已经把环境安装、模型训练这一套流程介绍了一次。该教程介绍如何更换一个模型去训练数据。


教程结构:

本教程分为三个步骤:

1.寻找模型配置文件以及其预训练模型
2.修改模型配置文件内容
3.测试

4.后记:假如需要使用tensorflow2.0的模型(环境安装的一些注意事项!!!!)


1.寻找模型配置文件以及其预训练模型

Ⅰ.寻找模型配置文件

相关模型配置文件可以在models-r1.13.0.zip的“…/research/object_detecion/samples/configs”里面找到。

models-r1.13.0.zip 可以在我github上Clone下来,链接:
https://github.com/HelloSZS/models-r1.13.0

在这里插入图片描述

Ⅱ.寻找预训练模型

因为使用tensorflow框架及tensorflow object detection API进行模型训练,因此在Tensorflow的github网站上可以寻找预训练模型。

使用预训练模型可以加快模型训练收敛速度,其实也可以选择不使用预训练模型。

Tensorflow object detection API的github网址:
https://github.com/tensorflow/models/tree/r1.13.0/research/object_detection

因为使用tensorflow1.0,因此选择了Tensorflow object detection API(r1.13.0版本)

以下是上面网址打开后的页面展示:
在这里插入图片描述
本系列教程提供的“models-r1.13.0.zip”压缩包,便是r1.13.0版本的压缩包。

在这里插入图片描述

网页下拉到该位置,点击tensorflow detection model zoo。
在这里插入图片描述

然后会跳转到下一个页面:这里就有预训练模型,按需下载。
在这里插入图片描述

预训练模型压缩包里包含了checkpoint文件和pb文件,还有配置文件,如下图:
在这里插入图片描述


2.修改模型配置文件内容

为何要修改配置文件内容?

首先,训练自己的数据集,需要给模型配置文件提供数据集放置的位置。其次,如果有想法,可以在基础的配置文件上修改优化器或者模型结构。再来,如果显存或内存不足,可以在里面修改batch_size。

如果需要使用不同的模型,则选用相应的配置文件,建议复制一份到其他文件夹,更改配置名称,以便与原版配置文件作区分:
在这里插入图片描述
示例:假如我要使用rfcn_resnet101 这个模型,建议复制一份:
在这里插入图片描述
并打开该配置文件,然后对以下内容进行修改:
在这里插入图片描述
如何修改,可以参考之前步骤中示例的模型配置文件:
在这里插入图片描述
修改后如下图:
在这里插入图片描述
至此,修改完成。


3.测试

测试的命令与“step1-Anaconda & Tensorflow安装教程”中下图位置的步骤一样,不过要修改命令:
在这里插入图片描述


2022.02.21更新
不知道为什么用model_main.py会卡住在这里不动然后报错,用legacy/train.py,就没问题
在这里插入图片描述

2022.1–原本:

python model_main.py --logtostderr --train_dir=training/ --pipeline_config_path=images/object/ssd_mobilenet_v2_coco.config

2022.02.21更新, 原本:

python legacy/train.py --alsologtostderr --train_dir training/ --pipeline_config_path images/object/ssd_mobilenet_v2_coco.config --num_train_steps=60000 --num_eval_steps=20

其中:ssd_mobilenet_v2_coco.config,修改成:rfcn_resnet101_coco.config

2022.1–即变成:

python model_main.py --logtostderr --train_dir=training/ --pipeline_config_path=images/object/rfcn_resnet101_coco.config

2022.02.21更新,即变成:

python legacy/train.py --logtostderr --train_dir=training/ --pipeline_config_path=images/object/rfcn_resnet101_coco.config

如果出现:Windows fatal exception: access violation
在这里插入图片描述
则检查配置文件的路径有没有错误:常见的是相对路径出错

不过这里是因为没有配置预训练模型的路径所以导致出错
在这里插入图片描述
可以选择注释掉不用预训练模型并且from_detection_checkpoint设置为false,如下图:
或者把存放预训练模型的位置放进去。
在这里插入图片描述
重新输入训练命令进行训练,出现loss,step,则表示成功修改了配置文件,并已经开始进行训练。
在这里插入图片描述
自此,Tensorflow Object detection API Win10使用教程全部结束。


4.后记:假如需要使用tensorflow2.0的模型

如果后续需要选择其他版本的Tensorflow object detection API(例如r2.0版本),则需要注意去创建新的anaconda环境再安装tensorflow2.0版本,以及相应的tensorboard/tensorflow-estimator版本。

tensorflow2.0版本安装过程与1.0一样,只需要在“step1教程”的相应步骤更改部分命令参数(例如: conda install tensorflow==1.15.1改成 conda install tensorflow==2.0.0)。并且网上查找tensorflow与cuda/cudnn版本兼容的列表(可以上tensorflow官网查找),看是否需要修改cuda/cudnn版本。

还要注意的一点,本系列教程提供的“models-r1.13.0.zip”压缩包已经对.proto文件进行过编译,生成了.py文件(省略了编译的过程,方便初学)。文件如下图所示:
在这里插入图片描述

如果需要下载其他版本,在如下图红框安装步骤之前重新编译.proto,下文会介绍编译方法。
在这里插入图片描述


编译.Proto的步骤介绍:

打开protobuf的github网站下载相应的文件,链接如下:
https://github.com/protocolbuffers/protobuf/releases

如果你是windows系统,则下载下列文件
(32位系统下载win32,64位系统下载win64)在这里插入图片描述

打开已经下载好的压缩包,把bin文件夹里的protoc.exe放到C:\Windows文件夹里:
在这里插入图片描述
然后重新打开一个cmd,输入protoc,回车,如果如下图所示,即准备就绪。
在这里插入图片描述
cmd中,激活环境,切换到“…/research”作为当前工作目录,然后输入以下命令:

protoc object_detection/protos/*.proto --python_out=.

然后如下图所示:
在这里插入图片描述
如果回车后没有任何错误提示,如下图所示:
在这里插入图片描述

并且会在“…/research/object_detection/proto中”生成下图内容(.py文件):
在这里插入图片描述

则表示已经成功,可以继续进行下续install步骤(对tensorflow object detection API进行安装)。
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值