New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImportError: cannot import name 'string_int_label_map_pb2' #1595

Closed
bsrinivas84 opened this Issue Jun 17, 2017 · 23 comments

Comments

Projects
None yet
@bsrinivas84

bsrinivas84 commented Jun 17, 2017

In step "Object detection imports" I am getting the following error

ImportError Traceback (most recent call last)
in ()
----> 1 from utils import label_map_util
2
3 from utils import visualization_utils as vis_util
D:\Personal\learn\ML\DL\Tensorflow\Official-Tutorial\models-master\object_detection\utils\label_map_util.py in ()
20 import tensorflow as tf
21 from google.protobuf import text_format
---> 22 from object_detection.protos import string_int_label_map_pb2
23
24
ImportError: cannot import name 'string_int_label_map_pb2'

To workaround/proceed I commented the following line in "label_map_util.py"
from object_detection.protos import string_int_label_map_pb2

But I am now getting error at step "Loading label map"
NameError: name 'string_int_label_map_pb2' is not defined

So need your help to solve the error in step "Object detection imports"
Appreciate the help to proceed further

@matmoody

This comment has been minimized.

Show comment
Hide comment
@matmoody

matmoody Jun 17, 2017

Make sure you run protoc object_detection/protos/*.proto --python_out=. as mentioned in installation instructions: https://github.com/tensorflow/models/blob/master/object_detection/g3doc/installation.md

matmoody commented Jun 17, 2017

Make sure you run protoc object_detection/protos/*.proto --python_out=. as mentioned in installation instructions: https://github.com/tensorflow/models/blob/master/object_detection/g3doc/installation.md

@bsrinivas84

This comment has been minimized.

Show comment
Hide comment
@bsrinivas84

bsrinivas84 Jun 17, 2017

Thanks mat for the quick response.
I am unable to locate the tensorflow/models directory.

Couple of hits got me to these links, but It did not help me find the directory
tensorflow/tensorflow#5953
tensorflow/tensorflow#5953

For windows OS, the steps need to be better?
Please help

bsrinivas84 commented Jun 17, 2017

Thanks mat for the quick response.
I am unable to locate the tensorflow/models directory.

Couple of hits got me to these links, but It did not help me find the directory
tensorflow/tensorflow#5953
tensorflow/tensorflow#5953

For windows OS, the steps need to be better?
Please help

@derekjchow

This comment has been minimized.

Show comment
Hide comment
@derekjchow

derekjchow Jun 17, 2017

Member

@bsrinivas84 tensorflow/models refers to the root of the git checkout.

Member

derekjchow commented Jun 17, 2017

@bsrinivas84 tensorflow/models refers to the root of the git checkout.

@bsrinivas84

This comment has been minimized.

Show comment
Hide comment
@bsrinivas84

bsrinivas84 Jun 18, 2017

Thanks Derek, realized first I had to install protoc-3.2.0-windows-x86_64.exe from https://github.com/google/protobuf/releases (pointed environment variables to include the path to installation) and then go to root and run the command. It worked, Many Thanks

bsrinivas84 commented Jun 18, 2017

Thanks Derek, realized first I had to install protoc-3.2.0-windows-x86_64.exe from https://github.com/google/protobuf/releases (pointed environment variables to include the path to installation) and then go to root and run the command. It worked, Many Thanks

@maheshmadhusudanan

This comment has been minimized.

Show comment
Hide comment
@maheshmadhusudanan

maheshmadhusudanan Jun 25, 2017

Anybody who is getting an import error in Jupyter notebook even after updating the PYTHONPATH make sure you restart the notebook. (i wasted couple of hours trying to chase down this problem)

maheshmadhusudanan commented Jun 25, 2017

Anybody who is getting an import error in Jupyter notebook even after updating the PYTHONPATH make sure you restart the notebook. (i wasted couple of hours trying to chase down this problem)

@bsrinivas84

This comment has been minimized.

Show comment
Hide comment
@bsrinivas84

bsrinivas84 Jun 26, 2017

Mahesh which error are you getting? If its the protof please follow the instructions here to install as pointed above
https://github.com/tensorflow/models/blob/master/object_detection/g3doc/installation.md

Also make sure you re-download the latest version of code

bsrinivas84 commented Jun 26, 2017

Mahesh which error are you getting? If its the protof please follow the instructions here to install as pointed above
https://github.com/tensorflow/models/blob/master/object_detection/g3doc/installation.md

Also make sure you re-download the latest version of code

@4saad

This comment has been minimized.

Show comment
Hide comment
@4saad

4saad Jul 12, 2017

i am still beginner i am trying to install tensorflow object detection API on windows i followed the instruction like that :

  1. I installed protoc
  2. protoc object_detection/protos/*.proto --python_out=.
  3. set PYTHONPATH=$PYTHONPATH:pwd:pwd/slim
  4. but i am getting this error:
    C:\Users\DigitalNet\AppData\Local\Programs\Python\Python35\Lib\site-packages\ten
    sorflow\models>python object_detection/builders/model_builder_test.py
    Traceback (most recent call last):
    File "object_detection/builders/model_builder_test.py", line 21, in
    from object_detection.builders import model_builder
    File "C:\Users\DigitalNet\AppData\Local\Programs\Python\Python35\lib\site-pack
    ages\object_detection-0.1-py3.5.egg\object_detection\builders\model_builder.py",
    line 17, in
    from object_detection.builders import anchor_generator_builder
    File "C:\Users\DigitalNet\AppData\Local\Programs\Python\Python35\lib\site-pack
    ages\object_detection-0.1-py3.5.egg\object_detection\builders\anchor_generator_b
    uilder.py", line 20, in
    from object_detection.protos import anchor_generator_pb2
    ImportError: cannot import name 'anchor_generator_pb2'

4saad commented Jul 12, 2017

i am still beginner i am trying to install tensorflow object detection API on windows i followed the instruction like that :

  1. I installed protoc
  2. protoc object_detection/protos/*.proto --python_out=.
  3. set PYTHONPATH=$PYTHONPATH:pwd:pwd/slim
  4. but i am getting this error:
    C:\Users\DigitalNet\AppData\Local\Programs\Python\Python35\Lib\site-packages\ten
    sorflow\models>python object_detection/builders/model_builder_test.py
    Traceback (most recent call last):
    File "object_detection/builders/model_builder_test.py", line 21, in
    from object_detection.builders import model_builder
    File "C:\Users\DigitalNet\AppData\Local\Programs\Python\Python35\lib\site-pack
    ages\object_detection-0.1-py3.5.egg\object_detection\builders\model_builder.py",
    line 17, in
    from object_detection.builders import anchor_generator_builder
    File "C:\Users\DigitalNet\AppData\Local\Programs\Python\Python35\lib\site-pack
    ages\object_detection-0.1-py3.5.egg\object_detection\builders\anchor_generator_b
    uilder.py", line 20, in
    from object_detection.protos import anchor_generator_pb2
    ImportError: cannot import name 'anchor_generator_pb2'
@sainttelant

This comment has been minimized.

Show comment
Hide comment
@sainttelant

sainttelant Aug 4, 2017

yes, i got the same error as 4saad mentioned, i checked the builder folder, where i found the anchor_generator-pb2.py which it has already been there, i still got the error like this

sainttelant commented Aug 4, 2017

yes, i got the same error as 4saad mentioned, i checked the builder folder, where i found the anchor_generator-pb2.py which it has already been there, i still got the error like this

@songwg188

This comment has been minimized.

Show comment
Hide comment
@songwg188

songwg188 Aug 8, 2017

I also got the same error as 4saad mentioned that cannot import name 'anchor_generator_pb2' even if i found the file of ' anchor_generator-pb2.py'.
However,when i come into python environment in cmd, from object_detection.protos import anchor_generator_pb2 is correct.

C:\Users\swg\Anaconda3\Lib\site-packages\tensorflow\models>python
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from object_detection.protos import anchor_generator_pb2
>>>
In this case, It can work.

songwg188 commented Aug 8, 2017

I also got the same error as 4saad mentioned that cannot import name 'anchor_generator_pb2' even if i found the file of ' anchor_generator-pb2.py'.
However,when i come into python environment in cmd, from object_detection.protos import anchor_generator_pb2 is correct.

C:\Users\swg\Anaconda3\Lib\site-packages\tensorflow\models>python
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from object_detection.protos import anchor_generator_pb2
>>>
In this case, It can work.

@sujanchy

This comment has been minimized.

Show comment
Hide comment
@sujanchy

sujanchy Sep 2, 2017

Hi songwg188, do you found any solution for the issue? I have also faced same problem as you mentioned. import is working from python environment, but I couldn't run the following command:
python object_detection/builders/model_builder_test.py from command prompt. Any help will be appreciable

sujanchy commented Sep 2, 2017

Hi songwg188, do you found any solution for the issue? I have also faced same problem as you mentioned. import is working from python environment, but I couldn't run the following command:
python object_detection/builders/model_builder_test.py from command prompt. Any help will be appreciable

@yuye1992

This comment has been minimized.

Show comment
Hide comment
@yuye1992

yuye1992 Sep 9, 2017

i had the same error,but i solved it. make sure your protoc version >=2.6,download tensorflow/model to a new folder ,and re-install it.

yuye1992 commented Sep 9, 2017

i had the same error,but i solved it. make sure your protoc version >=2.6,download tensorflow/model to a new folder ,and re-install it.

@tj27-vkr

This comment has been minimized.

Show comment
Hide comment
@tj27-vkr

tj27-vkr Sep 10, 2017

The application is looking for anchor_generator_pb2 in /usr/local/python3. Include the path in the python environment as mentioned in the installation guide. Or install the object_detection API with models/setup.py. All the libraries will be then installed.

tj27-vkr commented Sep 10, 2017

The application is looking for anchor_generator_pb2 in /usr/local/python3. Include the path in the python environment as mentioned in the installation guide. Or install the object_detection API with models/setup.py. All the libraries will be then installed.

@sujanchy

This comment has been minimized.

Show comment
Hide comment
@sujanchy

sujanchy Sep 11, 2017

sujanchy commented Sep 11, 2017

@jarvis-owl

This comment has been minimized.

Show comment
Hide comment
@jarvis-owl

jarvis-owl Sep 27, 2017

hej
okay i fixed it by editing object_detection/utils/label_map_util.py
line 22
#from object_detection.protos import string_int_label_map_pb2
from protos import string_int_label_map_pb2

I guess it's because the jupyter notebook already is in the object_detection directory.

@sujanchy what log to clear?
@tj27-vkr used models/setup.py build followed by models/setup.py install - could not cure it.

jarvis-owl commented Sep 27, 2017

hej
okay i fixed it by editing object_detection/utils/label_map_util.py
line 22
#from object_detection.protos import string_int_label_map_pb2
from protos import string_int_label_map_pb2

I guess it's because the jupyter notebook already is in the object_detection directory.

@sujanchy what log to clear?
@tj27-vkr used models/setup.py build followed by models/setup.py install - could not cure it.

@fera0013

This comment has been minimized.

Show comment
Hide comment
@fera0013

fera0013 Sep 30, 2017

I get

object_detection/protos/*.proto: Invalid argument

when I run

C:\Users\Me\Documents\GitHub\tensorflow\models\research> protoc o
bject_detection/protos/*.proto --python_out=.

On my windows 10 machine. What could be the problem?

fera0013 commented Sep 30, 2017

I get

object_detection/protos/*.proto: Invalid argument

when I run

C:\Users\Me\Documents\GitHub\tensorflow\models\research> protoc o
bject_detection/protos/*.proto --python_out=.

On my windows 10 machine. What could be the problem?

@jarvis-owl

This comment has been minimized.

Show comment
Hide comment
@jarvis-owl

jarvis-owl Sep 30, 2017

Okay, I can reproduce that output.
It works, when I specify the exact path to 'protoc.exe'

jarvis-owl commented Sep 30, 2017

Okay, I can reproduce that output.
It works, when I specify the exact path to 'protoc.exe'

@macro-dadt

This comment has been minimized.

Show comment
Hide comment
@macro-dadt

macro-dadt Nov 17, 2017

Make sure you run:

From tensorflow/models/research/

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

From tensorflow/models/research/

export PYTHONPATH=$PYTHONPATH:pwd:pwd/slim

macro-dadt commented Nov 17, 2017

Make sure you run:

From tensorflow/models/research/

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

From tensorflow/models/research/

export PYTHONPATH=$PYTHONPATH:pwd:pwd/slim

@devilsnare007

This comment has been minimized.

Show comment
Hide comment
@devilsnare007

devilsnare007 Dec 3, 2017

@fera0013 , if you're on windows and running that command it won't work, for some reason it doesn't recognize /* as iterating thru all .proto files, you will have to manually (or create a batch file) do all .proto files one by one:
D:\Tensorflow_Object_Detection_API\protoc-3.5\bin\protoc object_detection/protos/"filename.proto" --python_out=.
##Running this from the folder containing protoc.exe ##

devilsnare007 commented Dec 3, 2017

@fera0013 , if you're on windows and running that command it won't work, for some reason it doesn't recognize /* as iterating thru all .proto files, you will have to manually (or create a batch file) do all .proto files one by one:
D:\Tensorflow_Object_Detection_API\protoc-3.5\bin\protoc object_detection/protos/"filename.proto" --python_out=.
##Running this from the folder containing protoc.exe ##

@tawaki

This comment has been minimized.

Show comment
Hide comment
@tawaki

tawaki Dec 20, 2017

I am using windows 10 with python 3.6.3
instead of using protoc object_detection/protos/*.proto --python_out=. I use
for %i in (object_detection\protos\*.proto) DO protoc %i --python_out=.
set PYTHONPATH=$PYTHONPATH:pwd:pwd/slim
it create .py file for each .proto file in that folder.

However, I also have the same problem when run
from object_detection.protos import string_int_label_map_pb2
still have error ImportError: cannot import name 'string_int_label_map_pb2
If I run
from protos import string_int_label_map_pb2
another error shows up
ModuleNotFoundError: No module named 'protos'

Is there other way to solve this problem?

tawaki commented Dec 20, 2017

I am using windows 10 with python 3.6.3
instead of using protoc object_detection/protos/*.proto --python_out=. I use
for %i in (object_detection\protos\*.proto) DO protoc %i --python_out=.
set PYTHONPATH=$PYTHONPATH:pwd:pwd/slim
it create .py file for each .proto file in that folder.

However, I also have the same problem when run
from object_detection.protos import string_int_label_map_pb2
still have error ImportError: cannot import name 'string_int_label_map_pb2
If I run
from protos import string_int_label_map_pb2
another error shows up
ModuleNotFoundError: No module named 'protos'

Is there other way to solve this problem?

@gedeon1310

This comment has been minimized.

Show comment
Hide comment
@gedeon1310

gedeon1310 Jan 10, 2018

On windows 10, assuming that you fixed protoc issues as indicated above,
I also ran commands:
python setup.py build then python setup.py install for in research folder and slim folder (you may also have encountered some import issues with commands like ''from nets import ... )

I then copied copied related egg files into my libray path (related to my tensorflow environment):

C:\Users\test\Anaconda3\envs\tensorflow\Lib\site-packages

I finally have in this folder following files:

  • slim-0.1-py3.5.egg
  • object_detection-0.1-py3.5.egg

and folders:

  • slim.egg-info
  • object_detection.egg-info

this allowed to run from Anaconda prompt (in_..\models\research_) the test command indicated in installation guidelines:
python object_detection/builders/model_builder_test.py

gedeon1310 commented Jan 10, 2018

On windows 10, assuming that you fixed protoc issues as indicated above,
I also ran commands:
python setup.py build then python setup.py install for in research folder and slim folder (you may also have encountered some import issues with commands like ''from nets import ... )

I then copied copied related egg files into my libray path (related to my tensorflow environment):

C:\Users\test\Anaconda3\envs\tensorflow\Lib\site-packages

I finally have in this folder following files:

  • slim-0.1-py3.5.egg
  • object_detection-0.1-py3.5.egg

and folders:

  • slim.egg-info
  • object_detection.egg-info

this allowed to run from Anaconda prompt (in_..\models\research_) the test command indicated in installation guidelines:
python object_detection/builders/model_builder_test.py

@yash486gadhavi

This comment has been minimized.

Show comment
Hide comment
@yash486gadhavi

yash486gadhavi Feb 26, 2018

In my case, the proto folder contains no file named 'string_int_label_map_pb2' instead there is a file named string_int_label_map.proto but still i am not able to import that file please help me

yash486gadhavi commented Feb 26, 2018

In my case, the proto folder contains no file named 'string_int_label_map_pb2' instead there is a file named string_int_label_map.proto but still i am not able to import that file please help me

@jcRisch

This comment has been minimized.

Show comment
Hide comment
@jcRisch

jcRisch Mar 8, 2018

My problems was :

  • protos correctly build pb2 files
  • "from object_detection import anchor_generator_pb2" returns no error using the python2.7 console but returned an error with "python2.7 object_detection/builders/model_builder_test.py" command

On Ubuntu17 and with tensorflow 1.6 @gedeon1310 's solution worked for me too.

Thanks

jcRisch commented Mar 8, 2018

My problems was :

  • protos correctly build pb2 files
  • "from object_detection import anchor_generator_pb2" returns no error using the python2.7 console but returned an error with "python2.7 object_detection/builders/model_builder_test.py" command

On Ubuntu17 and with tensorflow 1.6 @gedeon1310 's solution worked for me too.

Thanks

@Flyzzz

This comment has been minimized.

Show comment
Hide comment
@Flyzzz

Flyzzz Sep 1, 2018

same problom on windows7, download protoc-3.6.1-win32.zip,place protoc.exe to environment path ,then copy protoc.exe to C:\Windows\systerm32,then run complie protoc object_detection/protos/*.proto --python_out=.,done

Flyzzz commented Sep 1, 2018

same problom on windows7, download protoc-3.6.1-win32.zip,place protoc.exe to environment path ,then copy protoc.exe to C:\Windows\systerm32,then run complie protoc object_detection/protos/*.proto --python_out=.,done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment