web-dev-qa-db-ja.com

「AttributeError:module 'google.protobuf.descriptor' has no attribute '_internal_create_key」を解決するには?

Jupyterノートブックでfrom object_detection.utils import label_map_utilを実行しているときに発生しました。これは実際にはテンソルフローオブジェクト検出チュートリアルノートブックです(テンソルフローオブジェクト検出APIに付属しています)完全なエラーログ:

AttributeError                            Traceback (most recent call last)
<ipython-input-7-7035655b948a> in <module>
      1 from object_detection.utils import ops as utils_ops
----> 2 from object_detection.utils import label_map_util
      3 from object_detection.utils import visualization_utils as vis_util

~\AppData\Roaming\Python\Python37\site-packages\object_detection\utils\label_map_util.py in <module>
     25 import tensorflow as tf
     26 from google.protobuf import text_format
---> 27 from object_detection.protos import string_int_label_map_pb2
     28 
     29 

~\AppData\Roaming\Python\Python37\site-packages\object_detection\protos\string_int_label_map_pb2.py in <module>
     19   syntax='proto2',
     20   serialized_options=None,
---> 21   create_key=_descriptor._internal_create_key,
     22   serialized_pb=b'\n2object_detection/protos/string_int_label_map.proto\x12\x17object_detection.protos\"\xc0\x01\n\x15StringIntLabelMapItem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12M\n\tkeypoints\x18\x04 \x03(\x0b\x32:.object_detection.protos.StringIntLabelMapItem.KeypointMap\x1a(\n\x0bKeypointMap\x12\n\n\x02id\x18\x01 \x01(\x05\x12\r\n\x05label\x18\x02 \x01(\t\"Q\n\x11StringIntLabelMap\x12<\n\x04item\x18\x01 \x03(\x0b\x32..object_detection.protos.StringIntLabelMapItem'
     23 )

AttributeError: module 'google.protobuf.descriptor' has no attribute '_internal_create_key'
11
Reghunaath A A

多くの異なるソリューションを試した後(私はMacで作業しています)、私のために働いたのはprotobufを再インストールすることです:

PROTOC_Zip=protoc-3.7.1-osx-x86_64.Zip
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/$PROTOC_Zip
Sudo unzip -o $PROTOC_Zip -d /usr/local bin/protoc
Sudo unzip -o $PROTOC_Zip -d /usr/local 'include/*'
rm -f $PROTOC_Zip

この記事 で強調表示されているとおり

0
TacoEater