TensorFlow Object Detection APIを取得しようとしています
https://github.com/tensorflow/models/tree/master/research/object_detection
インストール手順に従ってWindowsで作業する
https://github.com/tensorflow/models/tree/master/research/object_detection
Linux/Mac用のようです。上記のレポジトリをクローンしたディレクトリにスクリプトを配置した場合にのみ、これを機能させることができます。スクリプトを他のディレクトリに配置すると、次のエラーが表示されます。
ModuleNotFoundError: No module named 'utils'
原因は、上記のインストール手順にリストされているこのコマンドに相当するWindowsを適切に実行していないと思われます。
# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
私はWindows 10を使用しています。Python 3.6、およびそれが重要な場合はTensorFlow 1.4.0。もちろん、私はこの懸念についてGoogleで調べて、次のようなさまざまなリンクを見つけました。
https://github.com/tensorflow/models/issues/1747
しかし、これは懸念を解決していません。これを解決する方法に関する提案はありますか?
これまでに具体的に行った手順は次のとおりです。
1)pip3を介してTensorFlowおよび関連ツールをインストールする
2)管理コマンドプロンプトから、次を実行します。
pip3 install pillow
pip3 install lxml
pip3 install jupyter
pip3 install matplotlib
3)私の場合、TensorFlowの「models」リポジトリをDocumentsフォルダーに複製します
C:\Users\cdahms\Documents\models
4)ダウンロードしたGoogle Protobuf https://github.com/google/protobuf Windows v3.4.0 release "protoc-3.4.0-win32.Zip"(最新の3.5.1を試してみて、後続のステップでエラーが発生したので、このvidごとに3.4.0を試しました https://www.youtube.com/watch?v=COlbP62-B-U&list=PLQVvvaa0QuDcNK5GeCQnxYnSSaar2tpku&index=1 )
5)Protobufダウンロードをプログラムファイルに抽出します。具体的には
"C:\Program Files\protoc-3.4.0-win32"
6)models\researchディレクトリへのCD、具体的には
cd C:\Users\cdahms\Documents\models\research
7)特にprotobufコンパイルを実行しました
“C:\Program Files\protoc-3.4.0-win32\bin\protoc.exe” object_detection/protos/*.proto --python_out=.
案内する:
C:\Users\cdahms\Documents\models\research\object_detection\protos
コンパイルの結果として.pyファイルが正常に作成されたことを確認します(最初は.protoファイルのみが存在していました)
8)object_detectionディレクトリに移動します。例:
cd C:\Users\cdahms\Documents\models\research\object_detection
次に、コマンドプロンプトで次を入力して、object_detection_tutorial.ipynb Jupyter Notebookを起動します。
jupyter notebook
9)Jupyter Notebookで、「object_detection_tutorial.ipynb」-> Cell-> Run allを選択します。サンプルはノートブック内で実行する必要があります
10)Jupyter Notebookで[ファイル]-> [名前を付けてダウンロード]-> [Python]を選択し、ノートブックの.pyバージョンを同じディレクトリに保存します。
C:\Users\cdahms\Documents\models\research\object_detection\object_detection_tutorial.py
これで、選択したPythonエディター(例:PyCharm)でスクリプトを開いて実行できます。
11)スクリプトを他のディレクトリに移動し、実行しようとすると、エラーが発生することがわかります。
ModuleNotFoundError: No module named 'utils'
Pythonこれらの行が使用するutilsディレクトリを見つける方法をまだ知らないためです。
from utils import label_map_util
from utils import visualization_utils as vis_util
これを解決するには。 。 。
12)[システム]-> [システムの詳細設定]-> [環境変数]に移動します。 。 。 ->新規、およびPYTHONPATHという名前の変数と以下の値を追加します。
13)また、環境変数の下で、PATHを編集し、%PYTHONPATH%を次のように追加します。
14)再起動して、これらのパスの変更を有効にします
15)コマンドプロンプトをプルアップしてコマンド「set」を実行し、PYTHONPATHが存在し、PYTHONPATHとPATHに前の手順の値が含まれていることを確認します。
16)「object_detection_tutorial.py」を他のディレクトリにコピーして実行できます
コメントで述べたように、utils
はサブモジュールなので、実際にはobject_detection
ではなく、object_detection/utils
をPYTHONPATH
に追加する必要があります。
私はそれがあなたのために働いてうれしいです。
次のコマンドはWindowsでは機能しません。
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
代わりに、この tutorial の指示に従いました。3つの異なるディレクトリのパス変数を手動で設定することをお勧めします。 utilsディレクトリのパスも追加しました。これまでのところ、エラーなしで機能しています。
Research/object_detection/protosフォルダーに__init__.py
ファイルがあることを確認してください! __init__.py
ファイルは空ですが、protosモジュールを正しく作成するために存在する必要があります。
cd Research/Object_Detection
cd ..
研究
研究
研究
3.export PYTHONPATH = $ PYTHONPATH:pwd
:pwd
/slim
4.protoc object_detection/protos/string_int_label_map.proto --python_out =。
CD OBJECT_DETECTION
6.jupyterノート