欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

win7+Anaconda 安装Tensorflow Object Detection API

程序员文章站 2024-03-14 08:48:04
...

网上的方法试了一圈,出现过两个错误:

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

win7+Anaconda 安装Tensorflow Object Detection API

win7+Anaconda 安装Tensorflow Object Detection API


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
win7+Anaconda 安装Tensorflow Object Detection API

注: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

1. 下载3.4版本的potoc,如何不是3.4版本,可能报错

2. 解压后有两个文件夹:win7+Anaconda 安装Tensorflow Object Detection API

将bin文件夹下的protoc.exe拷贝到C:\Windows\System32中

3.2 编译.protoc文件

1. 进入models\research文件夹:

win7+Anaconda 安装Tensorflow Object Detection API

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

win7+Anaconda 安装Tensorflow Object Detection API

2. 输入python setup.py install

win7+Anaconda 安装Tensorflow Object Detection API


5 测试demo

1. 打开models\research\object_detection目录

win7+Anaconda 安装Tensorflow Object Detection API

2. 输入命令 jupyter notebook object_detection_tutorial.ipynb

win7+Anaconda 安装Tensorflow Object Detection API

3. 运行

win7+Anaconda 安装Tensorflow Object Detection API

4. 结果

win7+Anaconda 安装Tensorflow Object Detection API


参考

1.      https://zhuanlan.zhihu.com/p/29215867

2. https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10#2-set-up-tensorflow-directory-and-anaconda-virtual-environment