Reputation: 558
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.
Upvotes: 13
Views: 35942
Reputation: 1
I solved this by rebuilding protos go and check /models/research/object_detection/protos check for file center_net_pb2.py check all files if protos are generated if not generate manually by code.Make sure you set your PYTHONPATH correctly first
Upvotes: 0
Reputation: 1
I solved this by rebuilding protos go and check /models/research/object_detection/protos check for file center_net_pb2.py check all files if protos are generated if not generate manually by code.
Upvotes: 0
Reputation: 1121
IF you are using Jupyter Notebook and using Linux sys
download tensorflow-models
and then write this in your Notebook
sys.path.append("/home/Roy/Downloads/models-master/research/slim/")
I solved my problem with this
hope it helps
Upvotes: 0
Reputation: 1131
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.
Upvotes: 7
Reputation: 91
encountered the slim error on windows and this solved my problem
. What I did was, I just copied the entire nets folder from slim directory to C:\Python\Python\Lib\site-packages\object_detection-0.1-py3.5.egg (where I installed object_detection API). Then the error is completely gone.
Upvotes: 2
Reputation: 7972
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:
Install the models library
$ cd
$ git clone https://github.com/tensorflow/models/
Add the PYTHONPATH
to .bashrc
$ cd
$ vi .bashrc
export PYTHONPATH="$PYTHONPATH:/home/${YOUR_USERNAME}/models/research/slim"
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
Upvotes: 5
Reputation: 3560
This is a PYTHONPATH issue.
I would like to add to the existing answers, that if it's still not working for you and you use an Anaconda environment, use the Anaconda Prompt (in Admin mode) that comes with the distribution and not the system prompt of your OS. Set the PYTHONPATH within the Anaconda Prompt and run your commands from there.
Also the PYTHONPATH is reseted at each deactivation of the anaconda environment, including here a machine restart. So remember to set it again.
Upvotes: 0
Reputation: 1226
For MacOS:
export PYTHONPATH=/home/username/models/research/slim:$PYTHONPATH
Solves the problem.
Upvotes: 1
Reputation: 558
This is fixed on newer versions of tensorflow, if you get it just update your tensorflow version.
Upvotes: 1
Reputation: 305
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:
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
Upvotes: 21
Reputation: 31
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
Upvotes: 3