問題描述:
TypeError: __init__() got an unexpected keyword argument 'serialized_options'
File "object_detection/builders/model_builder_test.py", line 24, in <module> from object_detection.builders import model_builder File "F:\File_Python\Python_example\models-master\research\object_detection\builders\model_builder.py", line 20, in <module> from object_detection.builders import anchor_generator_builder File "F:\File_Python\Python_example\models-master\research\object_detection\builders\anchor_generator_builder.py", line 21, in <module> from object_detection.protos import anchor_generator_pb2 File "F:\File_Python\Python_example\models-master\research\object_detection\protos\anchor_generator_pb2.py", line 15, in <module> from object_detection.protos import grid_anchor_generator_pb2 as object__detection_dot_protos_dot_grid__anchor__generator__pb2 File "F:\File_Python\Python_example\models-master\research\object_detection\protos\grid_anchor_generator_pb2.py", line 22, in <module> serialized_pb=_b('\n3object_detection/protos/grid_anchor_generator.proto\x12\x17object_detection.protos\"\xcd\x01\n\x13GridAnchorGenerator\x12\x13\n\x06height\x18\x01 \x01(\x05:\x03\x32\x35\x36\x12\x12\n\x05width\x18\x02 \x01(\x05:\x03\x32\x35\x36\x12\x19\n\rheight_stride\x18\x03 \x01(\x05:\x02\x31\x36\x12\x18\n\x0cwidth_stride\x18\x04 \x01(\x05:\x02\x31\x36\x12\x18\n\rheight_offset\x18\x05 \x01(\x05:\x01\x30\x12\x17\n\x0cwidth_offset\x18\x06 \x01(\x05:\x01\x30\x12\x0e\n\x06scales\x18\x07 \x03(\x02\x12\x15\n\raspect_ratios\x18\x08 \x03(\x02') TypeError: __init__() got an unexpected keyword argument 'serialized_options'
解決方法:
類型錯誤:__init__()得到意外的關鍵字參數“serialized_options”
出現該問題,很有可能是,終端上的 protoc 版本 與python庫內的protobuf版本不一樣。
安裝對應版本的庫即可!比如我的執行下列命令
pip install -U protobuf
pip安裝時-U參數是什么作用?
pip install -h
就有說明了,就是--upgrade
,意思是如果已安裝就升級到最新版。-U 是升級 原來已經安裝的包,如果有新版本,不帶U不會裝新版,帶上才會更新到最新版本。
大功告成!完美解決!