web-dev-qa-db-ja.com

ImportError:「nets」という名前のモジュールはありません

Tensorflow/modelsで提供されるexport_inference_graph.pyスクリプトからtrained_checkpointを最終的な凍結モデルに変換しようとしていますが、次のエラーが発生します。そして、はい、すでに$ PYTHONPATHを "models/slim"に設定していますが、それでもこのエラーが発生します。誰か助けてもらえますか?

$ echo $PYTHONPATH
:/home/ishara/tensorflow_models/models:/home/ishara/tensorflow_models/models/slim

*****************************問題******************** ************************************************** ******

$Sudo python3 object_detection/export_inference_graph.py  --input_type image_tensor  --pipeline_config_path = "ssd_inception_v2_pets.config"  --trained_checkpoint_prefix="output/model.ckpt-78543"  --output_directory="birds_inference_graph.pb"

Traceback (most recent call last):
  File "object_detection/export_inference_graph.py", line 74, in <module>
    from object_detection import exporter
  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.Egg/object_detection/exporter.py", line 28, in <module>

  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.Egg/object_detection/builders/model_builder.py", line 30, in <module>
  File "/usr/local/lib/python3.5/dist-packages/object_detection-0.1-py3.5.Egg/object_detection/models/faster_rcnn_inception_resnet_v2_feature_extractor.py", line 28, in <module>
ImportError: No module named 'nets'

私はこれに何日も苦労してきましたが、多くのソリューションを試してみましたが、tensorflow-gpuバージョンでUbuntu 16.04を使用しています。

8
Ishara Abeykoon

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md でProtobufのコンパイルを見て、PYTHONPATHを正しく設定してください。 Windows用

Windowsの場合:

Tensorflow/models/research /から

ステップ1: protoc object_detection/protos/*.proto --python_out=.

ステップ2:

set PYTHONPATH= <Path to 'research' Directory> ; <Path to 'slim' Directory>

例えば:

set PYTHONPATH=C:\Users\Guy\Desktop\models\research;C:\Users\Guy\Desktop\models\research\slim
10
Pawan Mishra

TF-Slimは、TensorFlow 1.0を介してtf.contrib.slimとして利用できるため、pip install tensorflowを使用した場合はdo n'tを追加インストールする必要があります。あなたはまだこれらの3つのことをする必要があります:

  1. モデルライブラリをインストールする

    $ cd
    $ git clone https://github.com/tensorflow/models/
    
  2. PYTHONPATH.bashrcに追加します

    $ cd
    $ vi .bashrc
    
    export PYTHONPATH="$PYTHONPATH:/home/${YOUR_USERNAME}/models/research/slim"
    
  3. モデルパスをスクリプトに追加します

    $ vi ${YOUR_SCRIPT}.py
    
    import sys
    sys.path.append('/home/${YOUR_USERNAME}/models/research/slim/')
    

これらの3つのステップを完了すると、設定は完了です。これで、次のようにTFネットをインポートできます。

import tensorflow as tf
from tensorflow.contrib import slim
from nets import inception_resnet_v2
3
tsveti_iko

実際にスリムパッケージをtensorflow/modelsフォルダーに入れるのを逃していたため、同じエラーが発生しました。スリムパッケージは https://github.com/tensorflow/models にあります

3
andreas

MacOSの場合:

export PYTHONPATH=/home/username/models/research/slim:$PYTHONPATH

問題を解決します。

1
ceekay

これは、新しいバージョンのtensorflowで修正されます。取得した場合は、tensorflowバージョンを更新するだけです。

1
Ishara Abeykoon

これはPYTHONPATHの問題です。

既存の回答に追加したいのですが、それでもまだうまくいかず、Anaconda環境を使用している場合は、OSのシステムプロンプトではなく、ディストリビューションに付属するAnacondaプロンプト(管理モード)を使用してください。 Anacondaプロンプト内でPYTHONPATHを設定し、そこからコマンドを実行します。

また、PYTHONPATHは、ここでのマシンの再起動を含む、anaconda環境の非アクティブ化のたびにリセットされます。再度設定することを忘れないでください。

0
Gabriel P.

windowsでスリムエラーが発生し、これが私の問題を解決しました

。私がやったことは、ネットフォルダ全体をスリムディレクトリからC:\ Python\Python\Lib\site-packages\object_detection-0.1-py3.5.Egg(object_detection APIをインストールした場所)にコピーしたことです。その後、エラーは完全になくなります。

0
Draxy07

Ubuntu 18物理GPU(デバイス:0、名前:Tesla K80、pciバスID:0000:00:1e.0、計算機能:3.7)strong text

cd models/research/slim/;
python setup.py build
python setup.py install

これは、モデルディレクトリをダウンロードまたは複製した場合に使用します。

0
Vadim