行业门户网站案例分析,芯片设计公司排名,wordpress维护模式,山西seo排名本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型#xff08;1#xff09;——环境搭建与测试》的基础上优化并总结#xff0c;此博客链接#xff1a;https://blog.csdn.net/dy_guox/article/details/79081499#xff0c;感谢此博客作者。
0.前言…本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型1——环境搭建与测试》的基础上优化并总结此博客链接https://blog.csdn.net/dy_guox/article/details/79081499感谢此博客作者。
0.前言
在进行本文操作之前需要先安装好tensorflow的gpu版本。 本文作者的环境python3.6、Windows10、tensorflow_gpu1.10 已经安装好的可以跳过学习如何安装tensorflow的gpu版本的读者请阅读本文作者的另外一篇文章《深度学习环境搭建-CUDA9.0、cudnn7.3、tensorflow_gpu1.10的安装》链接https://www.jianshu.com/p/4ebaa78e0233 本文是写给目标检测入门新手的指导文章会用示意图将每一步的详细实现过程展示出来。 本文作者接触深度学习2个月后开始进行目标检测实践。 本文作者的专题《目标检测》链接https://www.jianshu.com/c/fd1d6f784c1f 此专题的宗旨是让基础较为薄弱的新手能够顺利实现目标检测专题内容偏向于掌握技能学会工具的使用。 本文作者尚未具备清楚讲述目标检测原理的能力学习原理请自行另找文章。
文章编号文章名链接1目标检测实践_tensorflow版SSD运行示例https://www.jianshu.com/p/c1d8f1c76de72目标检测实践_tensorflow版SSD数据准备https://www.jianshu.com/p/3d9436b4cb663目标检测实践_tensorflow版SSD训练自己的数据https://www.jianshu.com/p/0e5f9df4686a4目标检测实践_tensorflow版SSD模型测试https://www.jianshu.com/p/7464c5e00716
1.访问tensorflow在github的主页
tensorflow在github的主页链接https://github.com/tensorflow 主页界面如下图所示。 Repository中文叫做知识库对于程序员来说即代码库。 tensorflow这个用户中有很多Repository我们需要的目标检测代码在models这个Repository中。 如下图2个红色箭头标注处所示都是我们想要找的models这个代码库。 这2个红色箭头标注处随意选择一个点击进入下一步。注意因为本文写作的时间与读者浏览网址的时间不同所以本文写作时的界面与读者浏览网址时的界面也可能不同读者需要在主页中往下翻即可找到models这个代码库。 image.png models这个代码库也可以使用链接直接访问https://github.com/tensorflow/models 代码库界面如下图所示。 从下图中上方红色箭头标注处可以看出这个代码库被44617人点赞说明代码库的流行程度高受众程度广。 下图中下方红色箭头标注处的research文件夹我们需要的目标检测在这个文件夹中。点击下图中下方红色箭头标注处进入下一步。 image.png models这个代码库中的research文件夹也可以使用链接直接访问https://github.com/tensorflow/models/tree/master/research models这个代码库中的research文件夹页面如下图所示 image.png 从上图中可以看出没有object_detection这个文件夹读者需要在页面中往下翻可以找到。在页面中往下翻找到object_detection文件夹如下图红色箭头标注处所示。点击下图中红色箭头标注处进入下一步。 image.png models这个代码库中的research/object_detection文件夹页面如下图所示。 也可以使用链接直接访问https://github.com/tensorflow/models/tree/master/research/object_detection image.png 在上图页面中往下翻可以看到research/object_detection文件夹的指导文件README.md如下图所示。 阅读README.md中的内容可以获得英文版Tensorflow Object Detection API的使用指导。 image.png 2.下载代码库
在models代码库的界面中有下载整个代码库的按钮如下图红色箭头标注处所示 image.png 通过vpn访问github速度会加快。 从下图中可以看出本文作者下载此代码库的速度为5.4MB/s image.png 本文作者将此代码库上传到百度云盘下载链接: https://pan.baidu.com/s/1TnHvqNLT0JEZlugrdyABhQ 提取码: fnp3对于本文的读者来说其实只需要代码库models中的research/object_detection文件夹就可以。 代码库models文件大小有439M但是object_detection文件夹只有17M左右。 压缩文件object_detection.zip的百度云盘下载链接https://pan.baidu.com/s/1Q9SxtKlOqEty08tpFeUUHA 提取码: p2sm 下载完成后在桌面新建文件夹目标检测将压缩文件object_detection.zip放入其中如下图所示。 image.png 选择解压到object_detection如下图所示。 image.png 解压完成后文件夹目标检测中的文件情况如下图所示。 image.png 3.proto文件转py文件
3.1 下载和安装protoc
Protobuf(Google Protocol Buffers)是google开发的的一套用于数据存储网络通信时用于协议编解码的工具库。它和XML和Json数据差不多把数据已某种形式保存起来。Protobuf相对与XML和Json的不同之处它是一种二进制的数据格式具有更高的传输打包和解包效率。 下载Protobuf网址https://github.com/google/protobuf/releases 下载Protobuf网址页面如下图所示下图中红色箭头标注处是Protobuf在操作系统Windows中可以直接运行的protoc程序下载该压缩文件protoc-3.6.1-win32.zip。 image.png 将压缩文件protoc-3.6.1-win32.zip解压后的文件夹bin中的文件protoc.exe复制到路径C:\Windows 本文作者复制文件后确认路径C:\Windows有文件protoc.exe如下图所示。 image.png 3.2 使用protoc
在工程object_detection文件夹中找到文件夹protos如下图所示 image.png 进入文件夹protos从下图中可以看出文件夹中有很多以proto为后缀的文件。 接下来的操作就是把这些proto文件转换为py文件。 image.png 与工程object_detection文件夹同级目录中打开cmd。 具体操作示意图如下图所示在资源管理器的路径中输入cmd按Enter键进入。 image.png 在cmd中输入并运行命令jupyter notebook 如下图红色箭头标注处所示 image.png 在随后弹出的浏览器界面中选择新建一个ipynb文件即点击选择New-Python3。 具体操作示意图如下图所示。 image.png 将下面一段代码复制到第1个单元格中并且运行此段代码。 运行此段代码的按钮选择Cell-Run Cells即可。 import os
file_list os.listdir(object_detection/protos/)
proto_list [file for file in file_list if .proto in file]
print(object_detection/proto文件夹中共有%d个proto文件 %len(proto_list))
for proto in proto_list:execute_command protoc object_detection/protos/%s --python_out. %protoos.popen(execute_command)
file_list os.listdir(object_detection/protos/)
py_list [file for file in file_list if .py in file]
print(通过protoc命令产生的py文件共有%d个 %(len(py_list) - 1))上面一段代码的运行结果如下图所示。 如果显示通过protoc命令产生的py文件共有27个重新运行此段代码即可。 image.png 重新进入文件夹object_detection/protos文件按照文件名排序。 从下图中可以看出文件夹中每个proto文件后都有一个py文件即将proto文件转py文件成功。 image.png 4.下载模型
4.1 下载压缩文件
下载模型指的是下载已经训练好的模型。 在文件object_detection_tutorial.ipynb中有下载模型的代码语句。 代码可以运行但是无法得到结果因为代码中的下载链接是国外的网址。 压缩文件ssd_mobilenet_v1_coco_2017_11_17.zip上传到百度网盘 链接: https://pan.baidu.com/s/1ywlp46lK-WYZ_11sUXqftw 提取码: yv5i
4.2 解压压缩文件
将下载好的压缩文件放到工程object_detection文件夹中如下图所示。 image.png 选择解压到ssd_mobilenet_v1_coco_20...如下图红色箭头标注处所示。 注意不要选择解压到当前文件夹否则代码运行时会无法找到模型文件。 image.png 4.3 正确解压示意
如下图红色箭头标注处所示在压缩文件解压后工程object_detection文件夹中有文件夹ssd_mobilenet_v1_coco_2017_11_17。 image.png 文件夹ssd_mobilenet_v1_coco_2017_11_17中有文件夹saved_model和6个文件。 image.png 5.运行ipynb文件
5.1 打开ipynb文件
在工程object_detection文件夹中运行cmd。 即在资源管理器的路径中输入cmd按Enter键进入。 具体操作示意图如下图所示。 image.png 在cmd中输入并运行命令jupyter notebook 如下图红色箭头标注处所示 image.png 在新打开的浏览器界面中打开代码文件object_detection_tutorial.ipynb。 点击下图红色箭头标注处即可打开代码文件。 image.png 代码文件的页面如下图所示。 image.png 5.2 删除代码块
将代码文件的界面下拉到出现Download Model代码块。删除下图中下方红色箭头标注处的代码块。 操作方法是在选中此代码块的情况下点击下图中上方红色箭头标注处的剪切按钮。 此代码块的作用是从网络中下载模型这一步我们已经在本文第4章中实现。 image.png 删除代码块成功后代码文件的界面如下图所示。 image.png 5.3 运行代码
在代码文件的界面中选择运行所有代码块。 具体操作示意图如下图所示点击下图中红色箭头标注处即可。 image.png 如果代码成功运行的话运行结果如下图所示。 image.png
6.总结
本篇文章只是tensorflow版SSD的第1步。希望读者阅读此文章能够顺利完成目标检测的入门。作者潇洒坤 链接https://www.jianshu.com/p/c1d8f1c76de7 来源简书 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。