­

windows下tensorflow/objectdetection API環境搭建(基於tensorflow1.14和python3.6)

此前就聽聞室友說tensorflow在windows下坑很多,這次終於親身領會到了。以下是參考網上大佬的教程以及自己的踩坑史總結出的有效步驟(親測有效)

1.下載objectdetection所在的models(文件很大,考慮到國內github的速度,以下的資源均給出碼雲地址,進入後點擊克隆/下載,選擇下載方式)

  https://gitee.com/burningcarbon/tensorflow-models

2.在自己的python環境中安裝依賴(給出版本號的必須下載對應版本,否則報錯,其餘下最新版即可)

  tensorflow==1.14.0

  numpy==1.16

  matplotlib

  lxml

  pillow

  Cython

3. 安裝cocoapi(由於該項目官方並不支持windows編譯,所以下載大佬的修改版)

  下載:地址https://gitee.com/burningcarbon/windows-cocoapi 

  安裝:在命令行下進入cocoapi/PythonAPI目錄,執行:  python setup.py build_ext install

    注意:

      以上命令適用於在全局的python環境安裝

      如果想要安裝在虛擬環境中,則需要執行 python安裝路徑/python.exe setup.py build_ext install

      或者激活虛擬環境,在其中執行原命令即可

  將PythonAPI目錄下的pycocotools複製到research目錄下

4.protobuf的編譯

  下載編譯器

    進入https://github.com/protocolbuffers/protobuf/releases,在最新版(當前為3.11.4)中,下載Assets中的protoc-3.11.4-win64.zip

    進入models/research目錄,執行protoc  object_detection/protos/*.proto –python_out=.

      如果報錯提示No such file or directory,則一個一個進行編譯

        

        protoc object_detection/protos/anchor_generator.proto –python_out=.
        protoc object_detection/protos/argmax_matcher.proto –python_out=.
        protoc object_detection/protos/bipartite_matcher.proto –python_out=.
        protoc object_detection/protos/box_coder.proto –python_out=.
        protoc object_detection/protos/box_predictor.proto –python_out=.
        protoc object_detection/protos/calibration.proto –python_out=.
        protoc object_detection/protos/eval.proto –python_out=.
        protoc object_detection/protos/faster_rcnn.proto –python_out=.
        protoc object_detection/protos/faster_rcnn_box_coder.proto –python_out=.
        protoc object_detection/protos/grid_anchor_generator.proto –python_out=.
        protoc object_detection/protos/hyperparams.proto –python_out=.
        protoc object_detection/protos/image_resizer.proto –python_out=.
        protoc object_detection/protos/input_reader.proto –python_out=.
        protoc object_detection/protos/keypoint_box_coder.proto –python_out=.
        protoc object_detection/protos/losses.proto –python_out=.
        protoc object_detection/protos/matcher.proto –python_out=.
        protoc object_detection/protos/mean_stddev_box_coder.proto –python_out=.
        protoc object_detection/protos/model.proto –python_out=.
        protoc object_detection/protos/multiscale_anchor_generator.proto –python_out=.
        protoc object_detection/protos/optimizer.proto –python_out=.
        protoc object_detection/protos/pipeline.proto –python_out=.
        protoc object_detection/protos/post_processing.proto –python_out=.
        protoc object_detection/protos/preprocessor.proto –python_out=.
        protoc object_detection/protos/region_similarity_calculator.proto –python_out=.
        protoc object_detection/protos/square_box_coder.proto –python_out=.
        protoc object_detection/protos/ssd.proto –python_out=.
        protoc object_detection/protos/ssd_anchor_generator.proto –python_out=.
        protoc object_detection/protos/string_int_label_map.proto –python_out=.
        protoc object_detection/protos/train.proto –python_out=.

 

  安裝:

      命令行進入models/research目錄,執行python setup.py install(python虛擬環境的安裝同第二步cocoapi的安裝)

5.配置環境變量

  此電腦》屬性》高級系統設置》環境變量,找到path,添加 models存放路徑/models/research/object_detection

7.安裝slim

    刪除 models/research/slim目錄下的BUILD文件,然後命令行下cd 到 models/research/slim目錄下,運行: python setup.py install.py(python虛擬環境的安裝同上)

8.測試

  命令行進入models/research路徑,運行測試命令python object_detection/builders/model_builder_test.py(python虛擬環境的測試同上)

  最後出現以下輸出則證明環境安裝成功