使用到的环境:
tensorflow1.15 cpu版本
protoc 3.4.0版本
python3.7
windows10
基本流程:
https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md
这个网址下面有一些要安装的模块,根据它安装就行了。
要强调一下的有:
pycocotools的安装:
1.pip install pycocotools
很容易失败,反正我失败了好几次。
2.pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
在cmd里用这句,有的人成功了,但是我没有。
3.直接手动下载好包,然后解压缩得到
把里面的PythonAPI复制到site-packages下面,然后进入PxxAxx目录,在cmd里输入python setup.py install ,得到pycocotools。保证它在site-packages文件目录下。(具体的操作不太记得了,可以再查下,我之后打开直接就有pycocotools文件了。)
https://download.csdn.net/download/qq_45128278/12483788 cocoapi下载。
protoc的安装:
刚开始使用了3.12版本的,可以成功翻译成py文件,但是翻译后的文件不对应tensorflow1.x版本,对应2.x版本,所以我把它们都删了,下了3.9。但是3.9运行时会出现普遍错误:no modules xxx。
最终下了3.4.0,把exe文件移入c盘的windows目录下,在research文件目录下执行:
protoc object_detection/protos/.proto --python_out=.
可以发现object_detection/protos下出现了很多对应的py文件,则成功。
https://download.csdn.net/download/qq_45128278/12483788 3.4和3.9下载。
PYTHONPATH 环境变量设置:
新建PYTHONPATH的变量,将models/research/ 及 models/research/slim 两个文件夹的路径添加进去。
测试例程1:
在 models/research/ 文件夹下运行cmd命令行:
python object_detection/builders/model_builder_test.py
踩坑:
1.第一次出现了缺少tf_slim,那时候我错误以为是slim,但是检查site-packages下有slim文件,就以为是文件中的import tf_slim as slim是被版本淘汰了,就修改了文件。最后错误原因是没有pip,于是pip install tf_slim。
2.由于1中修改了文件,导致运行python setup.py install 生成拓展文件时,生成了object_detection.egg.info文件,即使我把原来修改的文件代码改回来,但是这里面的仍存在。解决方案是把egg.info文件删掉,进入object_detection目录下,重新python setup.py install 生成拓展文件。
测试例程2:
我使用了jupyter notebook,因为没有使用anaconda的python,所以直接在pip 里install的 jupyter。
然后根据错误提示装了vs2014.
安装好后,cmd进入object_detection目录下,输入jupyter notebook,会自动进入一个网址,然后选择里面的文件:object_detection_tutorial.ipynb。
第一行有关于需要tensorflow2.0的,注释掉就行了。
结果:
然后在生成结果之后,我又报了一个错误:
这一段出错:
model_name = "mask_rcnn_inception_resnet_v2_atrous_coco_2018_01_28"
masking_model = load_model(model_name)
大意是:tensorflow流中断。原因是之前已经下载过这个数据集,但是没下完,这次就报错了。
我的数据集下载目录在C:\Users\83543\.keras\datasets
去下面把相应的数据集删除掉就可以重新下载了。