tensorflow 无法导入名称“string_int_label_map_pb2”,即使在运行“protoc对象检测/protos/*.proto --python_out=”之后也是如此,

xqnpmsa8  于 2023-01-31  发布在  Python
关注(0)|答案(1)|浏览(187)

我没有从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

r1zhe5dt

r1zhe5dt1#

对我有效的解决方案如下:
如果您正在创建虚拟环境
创建环境后运行命令,将Google文件.protp更改为.py
protoc object_detection/protos/*.proto --python_out=.
但是,如果你仍然面临错误,你可以简单地在谷歌colab笔记本上运行代码:

    • Protos转换为Python**

%%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
这应该可以为您修复错误!

相关问题