object_detection.ipynb
タイプのプログラムを実行しようとしていますが、通常のpython program(.py)です。非常にうまく機能していますが、..models/research/object_detection
フォルダー内で実行している場合しかし、主な問題は、適切なsys.append
を使用して別のディレクトリでこのコードを実行しようとすると、次のエラーが発生することです。
トレースバック(最後の最後の呼び出し):
ファイル「obj_detect.py」、20行目
from utils import label_map_util
ImportError:utilsという名前のモジュールはありません
..models/research/object_detection
フォルダーから別のディレクトリのpythonプログラムにファイルをインポートしようとすると、次のようなエラーが発生します。
トレースバック(最後の最後の呼び出し):
ファイル「classify_image.py」、10行目
import object_dt
ファイル「/home/saikishor/Tensorflow_Models/models/research/object_detection/object_dt.py」、18行目
from utils import label_map_util
ファイル「/home/saikishor/Tensorflow_Models/models/research/object_detection/utils/label_map_util.py」、22行目
from object_detection.protos import string_int_label_map_pb2
ImportError:object_detection.protosという名前のモジュールはありません
この問題を解決するには?
Object_detectionフォルダーがパス上にない可能性があるため、pythonはファイルの検索場所を認識していません。
これは、python
import sys
sys.path
これが問題である場合、あなたはそれを解決することができます
sys.path.insert(0, 'path/to/your/object_detection')
私は同じ問題を見てきました。 string_int_label_map_pb2.py
ファイルが存在しません。
1 .protobuf
をインストールする必要があります。
https://github.com/google/protobuf/releases
cd
へのパスobject_detection
protoc object_detection/protos/string_int_label_map.proto --python_out =。
見つけるだろう string_int_label_map_pb2.py
ファイル'object_detection\protos'
PYTHONPATH
に追加できます。Protocバージョン3.3(コンパイル済み)をダウンロードする必要があります。 binディレクトリ内でprotocを使用して、次のようにこのコマンドを実行しました。
tensorflow$ mkdir protoc_3.3
tensorflow$ cd protoc_3.3
tensorflow/protoc_3.3$ wget wget https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.Zip
tensorflow/protoc_3.3$ chmod 775 protoc-3.3.0-linux-x86_64.Zip
tensorflow/protoc_3.3$ unzip protoc-3.3.0-linux-x86_64.Zip
tensorflow/protoc_3.3$ cd ../models/research/
tensorflow/protoc_3.3$ /home/saikishor/tensorflow/protoc_3.3/bin/protoc object_detection/protos/*.proto --python_out=.
これがうまくいけばうまくいきます!!
python * ./ site-packagesフォルダーでは、utilsフォルダーを確認できます。デフォルトでは、「from utils import label_map_util」を実行すると、pythonでlabel_map_utilを検索しようとします。*/site-packages/utilsフォルダー。
このエラーは、ディレクトリを変更するか、ファイルをtensorflow/models/utilsからpython *。*/site-packages/utilsにコピーすることで解決できます。