我正在跟踪这段视频text,在22:22在这段代码中发现了一个错误。
。
!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x {IMAGE_PATH + '/train'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/train.record'}
!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x{IMAGE_PATH + '/test'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/test.record'}
。发布准确的错误信息,
Traceback (most recent call last):
File "D:\info\1 Master\2 semster\RealTimeObjectDetection-main\Tensorflow\scripts\generate_tfrecord.py", line 29, in <module>
from object_detection.utils import dataset_util, label_map_util
File "C:\Users\bachir\PycharmProjects\pythonProject\venv\lib\site-packages\object_detection\utils\label_map_util.py", line 29, in <module>
from object_detection.protos import string_int_label_map_pb2
File "C:\Users\bachir\PycharmProjects\pythonProject\venv\lib\site-packages\object_detection\protos\string_int_label_map_pb2.py", line 5, in <module>
from google.protobuf.internal import builder as _builder
ImportError: cannot import name 'builder' from 'google.protobuf.internal' (C:\Users\bachir\PycharmProjects\pythonProject\venv\lib\site-packages\google\protobuf\internal\__init__.py)
。
首先,我试图下载一些丢失的软件包,但同样的问题,我想帮忙。
发布于 2022-06-03 18:52:27
遵循以下步骤:
pip install protobuf
builder.py
从...\Lib\site-packages\google\protobuf\internal
复制到计算机(比方说“文档”)
pip install protobuf==3.19.4
Lib\site-packages\google\protobuf\internal
发布于 2022-04-24 00:13:53
您需要升级到protobuf
包的最新版本:
pip install --upgrade protobuf
。
原因是自Protobufv3.20.0以来Python类是简化的。直接从发布说明上说:
Protobuf python生成的代码被简化。描述符和消息类的定义现在是在内部/builder.py中动态创建的。放弃消息类的插入点。
这解释了为什么生成的Python代码现在引用了一个builder
模块,如果您还没有更新到protobuf
包的最新版本,它就找不到这个模块。在发布说明中没有解释这一点,但是我自己验证了如果升级protobuf
包,它是可以工作的。
发布于 2022-10-06 16:14:28
由于某种原因,从从builder.py
创建的protobuf
包中丢失了TensorFlow文件。解决方法是简单地将builder.py的最新副本从protobuf
存储库复制到本地驱动器中。
wget https://raw.githubusercontent.com/protocolbuffers/protobuf/main/python/google/protobuf/internal/builder.py -O [PROTOBUF_PATH]/lib/python3.8/site-packages/google/protobuf/internal/builder.py
https://stackoverflow.com/questions/71759248
复制相似问题