欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【part3】TensorflowObjectdetectionAPIWin10使用教程

时间:2023-08-14
前言:

前面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安装教程”中下图位置的步骤一样,不过要修改命令:


原本:

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

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

即变成:

python model_main.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进行安装)。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。