tensorflow object detection API配置之protoc报错
本文小白一枚,最近在做目标检测,不知道如何入手,网上看了好多介绍包括two stage和YOLO系列,大家还是建议从tensorflow的目标检测API入手,所以有了这一系列的入坑之旅。记录下来留以备忘,如果能帮到有缘人就更好了,哈哈哈
1、配置环境
首先介绍一下我的环境,Windows 7(64位)旗舰版,anaconda 3(python 3.6)
2、搭建环境
2.1、安装tensorflow
首先要安装tensorflow,其它依赖的库会自动安装,直接执行下列命令即可
pip install tensorflow
2.2、下载Tensorflow object detection API
https://github.com/tensorflow/models
从github上下载项目(右上角“Clone or download”-“DownloadZIP”),下载到本地目录(避免中文),解压。
2.3、Protobuf 安装与配置
这一步,到了本篇博客重头戏,试了好多方法
在 https://github.com/google/protobuf/releases 网站中选择windows 版本(最下面),解压后将bin文件夹中的*【protoc.exe】*放到C:\Windows
在models\research\目录下打开命令行窗口,输入:
protoc object_detection/protos/*.proto --python_out=.
如果顺利通过没报错,你就不会看到本篇文章了,所以,接着往下看:
在这一步有时候会出错,我碰到以下几种错误:
2.31、no such file object_detection/protos/.proto:
这种情况是Windows系统cmd不支持’*.proto’格式搜索,这时有两种方法可以解决:
(1)可以尝试把/.proto 这部分改成文件夹下具体的文件名,一个一个试,每运行一个,文件夹下应该出现对应的.py结尾的文件,我试了,还是有问题,如果你也遇到直接看2.32
(2)网上另一种方法是用Git的命令行,我就是这么解决的,传送门:https://git-scm.com/downloads
2.32、执行‘protoc object_detection/protos/*.proto --python_out=.’命令时,报‘ImportError cannot import XX ’:
这种问题是protobuf的版本问题,不要用3.5或3.6版,用3.4,用3.4,用3.4,3.4,.4,4……
传送门:https://github.com/protocolbuffers/protobuf/releases/tag/v3.4.0