TensorFlow 2 Object Detection API tutorialの「Installation」に従って、TensorFlow2 Object Detection APIをインストールします。「GPUを実装したwindows PCにTensorFlowをインストール」ですでにTensorFlow 2をインストールしました。ここからスタートします。
TensorFlow Model のダウンロード
「TensorFlow Models repository」からTensorFlow Models をダウンロードして、ダウンロードしたTensorFlow Models を含む次のようなフォルダ構成を作成します。
TensorFlow/ └─ models/ ├─ community/ ├─ official/ ├─ orbit/ ├─ research/ └── ...
Protocol Buffersのインストール/コンパイル
Protocol Buffersは、インタフェース定義言語 で構造を定義する通信や永続化での利用を目的としたシリアライズフォーマットで、モデルや訓練パラメータを構成するために使用します。「Protocol Buffers v3.18.0」から「protoc-3.18.0-win64.zip」をダウンロードし、「C:\Program Files\TensorFlow\protoc-3.18.0-win64」に解凍します。
「C:\Program Files\TensorFlow\protoc-3.18.0-win64\bin」にpathを通して、次のコマンドでコンパイルします。
# From within TensorFlow/models/research/ >cd TensorFlow/models/research/ >protoc object_detection/protos/*.proto --python_out=.
COCO APIインストール
「COCO」は物体検出のためにデザインされた大量画像データセットで、次のコマンドでインストールします。
>pip install cython >pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
Object Detection APIのインストール
次のコマンドでObject Detection APIをインストールします。
# From within TensorFlow/models/research/ >cd TensorFlow/models/research/ >copy TensorFlow\models\research\object_detection\packages\tf2/setup.py . >python -m pip install --use-feature=2020-resolver .
TensorFlow 2 Object Detection APIのインストールの確認
次のコマンドで、TensorFlow 2 Object Detection APIのインストールを確認します。
# From within TensorFlow/models/research/ >python object_detection/builders/model_builder_tf2_test.py ・・・ INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_create_ssd_models_from_config): 19.14s I0927 07:13:38.878613 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_create_ssd_models_from_config): 19.14s [ OK ] ModelBuilderTF2Test.test_create_ssd_models_from_config [ RUN ] ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update): 0.0s I0927 07:13:38.886637 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update): 0.0s [ OK ] ModelBuilderTF2Test.test_invalid_faster_rcnn_batchnorm_update [ RUN ] ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold): 0.0s I0927 07:13:38.888823 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold): 0.0s [ OK ] ModelBuilderTF2Test.test_invalid_first_stage_nms_iou_threshold [ RUN ] ModelBuilderTF2Test.test_invalid_model_config_proto INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_invalid_model_config_proto): 0.0s I0927 07:13:38.890380 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_invalid_model_config_proto): 0.0s [ OK ] ModelBuilderTF2Test.test_invalid_model_config_proto [ RUN ] ModelBuilderTF2Test.test_invalid_second_stage_batch_size INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_invalid_second_stage_batch_size): 0.0s I0927 07:13:38.893335 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_invalid_second_stage_batch_size): 0.0s [ OK ] ModelBuilderTF2Test.test_invalid_second_stage_batch_size [ RUN ] ModelBuilderTF2Test.test_session [ SKIPPED ] ModelBuilderTF2Test.test_session [ RUN ] ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor): 0.0s I0927 07:13:38.896303 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor): 0.0s [ OK ] ModelBuilderTF2Test.test_unknown_faster_rcnn_feature_extractor [ RUN ] ModelBuilderTF2Test.test_unknown_meta_architecture INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_unknown_meta_architecture): 0.0s I0927 07:13:38.899809 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_unknown_meta_architecture): 0.0s [ OK ] ModelBuilderTF2Test.test_unknown_meta_architecture [ RUN ] ModelBuilderTF2Test.test_unknown_ssd_feature_extractor INFO:tensorflow:time(__main__.ModelBuilderTF2Test.test_unknown_ssd_feature_extractor): 0.0s I0927 07:13:38.901310 10180 test_util.py:2188] time(__main__.ModelBuilderTF2Test.test_unknown_ssd_feature_extractor): 0.0s [ OK ] ModelBuilderTF2Test.test_unknown_ssd_feature_extractor ---------------------------------------------------------------------- Ran 24 tests in 25.129s OK (skipped=1)