Object Detection API 安装以及使用总结(一)

写点干货,由于公司想用Object Detection API搞点事情就挖了个坑,慢慢填。

Object Detection API 安装

先提供源码链接我是检测API

这里预先安装CUDA9.0,cudnn7.0.5(太新了会有很多问题),以及tensorFlow-gpu1.9版本以上
网上说最好是直接下载压缩包,git clone可能会出现很多小模块出错的问题。然而我两种都试了,加载都少模块出错。。。。

下载好后将图片放入tensorflow文件夹下,并提取到此处
Object Detection API 安装以及使用总结(一)_第1张图片
将解压出的文件夹改名为models(这里是个强迫症,为了和官网配合,不改应该也可以)

之后按照官方的安装方法,先安装一些依赖项。这里放上链接Installed,因为CSDN复制代码会多复制一堆广告超烦啊!!!
以下图片链接中都有,copy自己打开网址就可以
Object Detection API 安装以及使用总结(一)_第2张图片

之后需要编译Protobuf,在tensorflow/models/research/下打开终端输入
在这里插入图片描述

这里我配了好几台机器都有问题,所以推荐使用手工编译。
仍然在上述路径下,下载这个压缩包。
在这里插入图片描述
解压后执行该命令即可
在这里插入图片描述

无报错更改一下环境变量就可以。打开终端输入

sudo gedit ~/.bashrc

Object Detection API 安装以及使用总结(一)_第3张图片
在打开的文件末尾插入

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

这里‘pwd’修改为自己系统的tensorflow/models/research/以及tensorflow/models/research/slim的绝对路径,不要忘记二者之间有个冒号":"

Object Detection API 安装以及使用总结(一)_第4张图片

最后测试以下,执行命令

python object_detection/builders/model_builder_test.py

我这里会报错AttributeError: module ‘nets.mobilenet_v1’ has no attribute ‘MOBILENETV1_CONV_DEFS’
,如下图
Object Detection API 安装以及使用总结(一)_第5张图片
这里卡了我好几天,最后感觉要不就是下载的models包有损,要不就是官方维护的差,所以跳过这个测试,

这里使用找到tensorflow/models/research/slim/nets/mobilenet_v1.py
将该py文件中的_CONV_DEFS替换为MOBILENETV1_CONV_DEFS(共三处)测试可行

在这里插入图片描述

#另一种测试方法。(如果使用上述测试方法出现mobile错误,即使这种测试方法通过,实际使用API训练时仍然会报这个错,所以还是改了吧)

在tensorflow/models/research/下输入

jupyter notebook

选择list列表下的object_detection文件夹
Object Detection API 安装以及使用总结(一)_第6张图片
打开后点击object_detection_tutorial.ipub(超明显的一个图标)
Object Detection API 安装以及使用总结(一)_第7张图片
在上方找到Cell 中的Run All 点击,等待时间可能要很久,因为需要下载东西,网络不好可能会报错,同时也会加载GPU。
Object Detection API 安装以及使用总结(一)_第8张图片
在前端可以看到检测狗的结果,打开终端可以看到GPU的调用和自己GPU的信息,证明测试通过。
Object Detection API 安装以及使用总结(一)_第9张图片

下一篇是使用Object Detection API 来训练自己的数据集,再次挖坑抓紧填。

你可能感兴趣的:(项目)