我没有从stackoverflow中找到任何有用的信息来纠正错误,这就是为什么这个问题在这里。我正在使用tensorflow对象检测。但是得到以下错误
Traceback (most recent call last):
File "C:/Users/Sam.CP/PycharmProjects/Tensorflow/tensor_demo.py", line 20, in <module>
from object_detection.utils import label_map_util
File "C:\Users\Sam.CP\PycharmProjects\Tensorflow\object_detection\utils\label_map_util.py", line 21, in <module>
from object_detection.protos import string_int_label_map_pb2
ImportError: cannot import name 'string_int_label_map_pb2
“
因此我做了一个小的研究这个问题,我发现this answer和我使用的protoc object_detection/protos/*.proto --python_out=.
命令在cmd中,然后py文件创建在protos文件夹中.我得到同样的错误,即使在文件创建后.
Python - 3.6.0,tensorflow - 1.6.0,协议缓冲区- 3.4.0
1条答案
按热度按时间r1zhe5dt1#
对我有效的解决方案如下:
如果您正在创建虚拟环境:
创建环境后运行命令,将Google文件
.protp
更改为.py
:protoc object_detection/protos/*.proto --python_out=.
但是,如果你仍然面临错误,你可以简单地在谷歌colab笔记本上运行代码:
%%cd /content/drive/MyDrive/TFOD1.x/models/research
!protoc object_detection/protos/*.proto --python_out=.
获取protoc文件夹中的文件,然后将其复制到〉models〉research〉protoc和(导入步骤):将文件夹复制到您的环境路径:
例如:
C:\用户\x04xx18\Python3\环境\tfod1.x\libs\protos
这应该可以为您修复错误!