天天看點

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝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

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝API參考
win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝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 API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝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 API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝API參考

将bin檔案夾下的protoc.exe拷貝到C:\Windows\System32中

3.2 編譯.protoc檔案

1. 進入models\research檔案夾:

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝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 API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝API參考

2. 輸入python setup.py install

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝API參考

5 測試demo

1. 打開models\research\object_detection目錄

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝API參考

2. 輸入指令 jupyter notebook object_detection_tutorial.ipynb

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝API參考

3. 運作

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝API參考

4. 結果

win7+Anaconda 安裝Tensorflow Object Detection API1 下載下傳models2 配置環境變量3 編譯Protobufs4 安裝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

繼續閱讀