LoginSignup
0
2

More than 3 years have passed since last update.

WindowsでTensorFlow Object Detection API の環境構築(備忘録)

Last updated at Posted at 2020-06-20

Abstract

某大学院でDeep Learningによる物体検出をしています。

その際、TensorFlow Object Detection APIの環境構築で

ハマってしまったので備忘録として記しておきたいと思います。

【TensorFlow Object Detection APIとは】
Deep Learning、物体検出...というと、ハードルが高く感じるかもしれませんが、
その実装をサポートしてくれるフレームワークがあります。(TensorFlow,Pytorch,Chainer,Kerasなどが王道)
Tensorflow Object Detection APIでは学習済みのモデルが用意されており、
気軽に物体検出を試すことができます。

質問、コメント、不備などがありましたらコメントにて受け付けています。

環境

  • Windows10
  • Visual Studio 2017
  • NVIDIA GeForce RTX 2080 Ti
  • CUDA 10.1
  • cuDNN 7.6.5
  • TensorFlow 1.15.0
  • TensorFlow-gpu 1.15.0
  • Anaconda3
  • Python 3.6.10

環境構築

Windows10でTensorFlow Object Detection APIを試すのに必要な環境構築を行なっていきます。

Ⅰ.CUDA,cuDNNのインストール

TensorFlowの公式サイト
CUDA、cuDNNのバージョン関係の早見表があるのでそちらを参考にしたほうがいいと思います。
キャプチャ.JPG

今回私は上記(環境に記載)のバージョンをインストールしています。

1.CUDAのインストール

・下記サイトからCUDA Toolkit 10.1をインストール
 https://developer.nvidia.com/cuda-toolkit-archive

・PATHの追加
 Windowsのコントロールパネルから環境変数の設定を開き、
 先ほどインストールしたCUDA Toolkit 10.1のPATHを通す。
 キャプチャ1.JPG

・コマンドプロンプトにてCUDAがインストールされPATHが通っているか確認

C:\> where nvcc

 ちゃんとPATHの変数が問題なく表示されたら大丈夫だと思います。

2.cuDNNのインストール

・下記サイトからcuDNNをインストール
 https://developer.nvidia.com/rdp/cudnn-download
 ※インストールにはNVIDIA Developerへの登録が必要になります。

・登録が完了したら、CUDAのバージョンに合わせてcuDNNをインストールします。
 今回はCUDA==10.1をインストールしているので、cuDNN==7.6.5をインストールします。

・環境変数にCUDA_PATHCUDA_PATH_V10.1が設定されているはずです。(自動的に追加されている)
 キャプチャ2.JPG

・展開してできたディレクトリcuda の下にあるすべてのファイルとディレクトリを,
 CUDA Toolkitをインストールしたディレクトリにコピー

・CUDNN_PATHを追加
 4.png

C:\> Where cudnn64_7.dll

 問題なければ次に行きましょう。

Ⅱ.TensorFlowのインストール

・Anaconda3にTensorflowの仮想環境を作成します。
 【初心者向け】Anacondaで仮想環境を作ってみる

C:\> pip install Tensorflow==1.15.0
C:\> pip install Tensorflow-gpu==1.15.0

・TensorFlowがしっかりインストールされているか確認
 Pythonで下記のように入力し、


Python> import tensorflow as tf; print(tf.__version__)

>>> "1.15.0"

 "1.15.0"とインストールしたバージョンの数字が返ってきたらOKです。

TensorFlow Object detection APIの環境構築

基本的には公式【TensorFlow Object Detection - Installation】通りにやれば大丈夫でした。

ライブラリのインストール

pip install --user Cython
pip install --user contextlib2
pip install --user pillow
pip install --user lxml
pip install --user jupyter
pip install --user matplotlib
pip install --user tf_slim

自分の場合numpyが最新のバージョンだと後々うまくいかなかったので
numpy==1.16にダウングレードしました。

TensorFlow / modelsリポジトリをダウンロード

C:\> git clone https://github.com/tensorflow/models.git

COCO APIのインストール

C:\> git clone https://github.com/cocodataset/cocoapi.git
C:\>cd cocoapi/PythonAPI
C:\cocoapi/PythonAPI>make
C:\cocoapi/PythonAPI>cp -r pycocotools <path_to_tensorflow>/models/research/

※または、pipを使用してインストール(こちらのほうがWindowsではうまくいく)

C:\>pip install git+https://github.com/philferriere/cocoapi.git#egg=pycocotools^&subdirectory=PythonAPI

・tensorflow/models/researchで下記コマンドを実行

C:~/models/research/>protoc object_detection/protos/*.proto --python_out=.

・PYTHONPATHの設定
 Windowsでは下記のようにコマンドを実行してPATHを通す

C:\>set PYTHONPATH= <C:\~\models\research>;<C:\~\models\research\slim>

Ⅲ.テスト

 これまでやってきた環境構築がうまくいったかどうかテストします。

・tensorflow/models/researchで下記コマンドを実行

C:~/models/research>python object_detection/builders/model_builder_tf1_test.py

 実行結果

[ RUN      ] ModelBuilderTF1Test.test_create_context_rcnn_from_config_with_params(True)
[       OK ] ModelBuilderTF1Test.test_create_context_rcnn_from_config_with_params(True)
.
.
.
.
.

[ RUN      ] ModelBuilderTF1Test.test_unknown_ssd_feature_extractor
[       OK ] ModelBuilderTF1Test.test_unknown_ssd_feature_extractor
----------------------------------------------------------------------
Ran 21 tests in 0.209s

OK (skipped=1)

上記のような結果が出力されれば問題ありません。
(skipped=1)となっているのはよくわかりませんが問題なく学習できているので大丈夫??

私の場合はこれで問題なく学習できています。

Ⅳ.参考

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2