Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ImportError: No module named 'nets'

I am trying to convert trained_checkpoint to final frozen model from the export_inference_graph.py script provided in tensorflow/models,but the following error results. And yes,I have already setup $PYTHONPATH to "models/slim" but still I get this error,can someone help me out?

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

*****************************problem****************************************************************************

$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'

I have been struggling with this for days now,tried many solutions nothing work I am using Ubuntu 16.04 with tensorflow-gpu version.

like image 334
Ishara Abeykoon Avatar asked Sep 04 '17 04:09

Ishara Abeykoon


4 Answers

Ubuntu 18 physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0, compute capability: 3.7)strong text

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

That's in case you've got downloaded or cloned your models directory.

like image 136
Vadim Avatar answered Nov 01 '22 09:11

Vadim


TF-Slim is available as tf.contrib.slim via TensorFlow 1.0, so you don't need to install it additionally if you used pip install tensorflow. You still need to do these 3 things:

  1. Install the models library

    $ cd
    $ git clone https://github.com/tensorflow/models/
    
  2. Add the PYTHONPATH to .bashrc

    $ cd
    $ vi .bashrc
    
    export PYTHONPATH="$PYTHONPATH:/home/${YOUR_USERNAME}/models/research/slim"
    
  3. Add the models path to your script

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

After these 3 steps you're all set. Now you can import the TF nets like this:

import tensorflow as tf
from tensorflow.contrib import slim
from nets import inception_resnet_v2
like image 34
tsveti_iko Avatar answered Nov 01 '22 09:11

tsveti_iko


Take a look at Protobuf Compilation at https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md and set PYTHONPATH correctly, this is how I solved this for Windows

For Windows:

From tensorflow/models/research/

Step1: protoc object_detection/protos/*.proto --python_out=.

Step2:

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

For Eg:

set PYTHONPATH=C:\Users\Guy\Desktop\models\research;C:\Users\Guy\Desktop\models\research\slim
like image 20
Pawan Mishra Avatar answered Nov 01 '22 07:11

Pawan Mishra


I did get the same error, because I had missed out to actually put the slim package into the tensorflow/models folder. The slim package is on https://github.com/tensorflow/models

like image 3
andreas Avatar answered Nov 01 '22 08:11

andreas