win7+Anaconda 安装Tensorflow Object Detection API
网上的方法试了一圈,出现过两个错误:
1. ImportError: No module named 'object_detection'
2. ImportError: cannot import name 'string_int_label_map_pb2'
第一个错误,是因为没有安装tensorflow\models造成的,
第二个错误,是因为没有正确编译models\research\object_detection\protos中的.proto文件造成的。
接下来是我的安装步骤。
1 下载models
2 配置环境变量
打开Anaconda终端,输入以下命令:
set PYTHONPATH=D:\ProgramData\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\models;D:\ProgramData
\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\models\research;D:\ProgramData\Anaconda3\envs\tensorflow-
gpu\Lib\site-packages\tensorflow\models\research\slim
注:1. 每次启动终端都要配置环境变量
2. 我的models存放地址是:D:\ProgramData\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\models
环境变量配置的是models,models\research和models\research\slim的路径
3 编译Protobufs
3.1 安装protoc
2. 解压后有两个文件夹:
将bin文件夹下的protoc.exe拷贝到C:\Windows\System32中
3.2 编译.protoc文件
1. 进入models\research文件夹:
2. 输入以下命令:
protoc --python_out=. .\object_detection\protos\anchor_generator.proto .\object_detection\protos\argmax_matcher.proto .\object_detection\protos\bipartite_matcher.proto .\object_detection\protos\box_coder.proto .\object_detection\protos\box_predictor.proto .\object_detection\protos\eval.proto .\object_detection\protos\faster_rcnn.proto .\object_detection\protos\faster_rcnn_box_coder.proto .\object_detection\protos\grid_anchor_generator.proto .\object_detection\protos\hyperparams.proto .\object_detection\protos\image_resizer.proto .\object_detection\protos\input_reader.proto .\object_detection\protos\losses.proto .\object_detection\protos\matcher.proto .\object_detection\protos\mean_stddev_box_coder.proto .\object_detection\protos\model.proto .\object_detection\protos\optimizer.proto .\object_detection\protos\pipeline.proto .\object_detection\protos\post_processing.proto .\object_detection\protos\preprocessor.proto .\object_detection\protos\region_similarity_calculator.proto .\object_detection\protos\square_box_coder.proto .\object_detection\protos\ssd.proto .\object_detection\protos\ssd_anchor_generator.proto .\object_detection\protos\string_int_label_map.proto .\object_detection\protos\train.proto .\object_detection\protos\keypoint_box_coder.proto .\object_detection\protos\multiscale_anchor_generator.proto .\object_detection\protos\graph_rewriter.proto
注:不可输入命令protoc object_detection/protos/*.proto --python_out=.
因为在这里.proto文件必须写完整,否则会报错
4 安装API
在models\research目录下:
1. 输入python setup.py build
2. 输入python setup.py install
5 测试demo
1. 打开models\research\object_detection目录
2. 输入命令 jupyter notebook object_detection_tutorial.ipynb
3. 运行
4. 结果
参考
推荐阅读
-
tensorflow入门教程(二十五)Object Detection API目标检测(下)
-
tensorflow入门教程(二十四)Object Detection API目标检测(中)
-
windows10 tensorflow_(object_detection) 实现三(快速上手)
-
使用tensorflow object_detection API完成目标检测
-
TensorFlow Objection Detection API使用教程
-
win7+Anaconda 安装Tensorflow Object Detection API
-
Mac 配置tensorflow object_detection API + labelImg 安装
-
windows10下安装TensorFlow Object Detection API的步骤
-
windows10下安装TensorFlow Object Detection API的步骤
-
【Demo 1】基于object_detection API的行人检测 1:环境与依赖