我總結了下我出現的錯誤原因
出現的問題1:
AttributeError: 'google.protobuf.pyext._message.RepeatedScalarConta' object has no attribute ' XXX'
原因:protobuf版本不對應
import google.protobuf
print(google.protobuf.__version__)
使用如上代碼可以查看自己的protobuf版本,然後去網上查找自己使用框架的對應版本,例如我使用的是tf2.2,對應版本爲3.14,出現這個的原因往往是一個環境內安裝多個框架,導致protobuf版本混亂。
出現的問題2:
TypeError: __init__() got an unexpected keyword argument 'serialized_options'
原因:protobuf版本不對應
這個地方出現的原因是因爲,我一開始沒有查到tf2.2對應的版本,所以卸載了protobuf3.6,下載了protobuf3.4後出現如上報錯。
如果不知道版本可以使用下述命令
pip uninstall protobuf
pip install -U protobuf
通過該命令後,系統下載版本爲3.14,且tf2.2框架能夠運行了