错误解决: ‘__module/__’ : ‘tensorflow.core.framework.tensor_shape_pb2’ TypeError: expected bytes, Descriptor found
问题:
今天在运行代码的时候,import tensorflow之后报错,显示:
‘__module/__’ : ‘tensorflow.core.framework.tensor_shape_pb2’
TypeError: expected bytes, Descriptor found
经过查阅网上各种资料,发现是tensorflow版本不匹配的问题,pip更新了,会出现不匹配的情况,用pip list看看你tensorflow和各种pip的版本
tensorflow对protobuf的版本要求很严格。
对应如下
tensorflow 1.5 --------------- protobuf 3.4
tensorflow 1.12 --------------- protobuf 3.6
tensorflow 1.10 --------------- protobuf 3.6
tensorflow 1.0.0 --------------- protobuf 3.1
tensorflow 0.12 --------------- protobuf 3.1
tensorflow 0.11 --------------- protobuf 3.0.2
解决办法:降级
我的tensorflow版本1.12,所以我需要下载protobuf 3.6版本
在控制台管理员权限运行语句:
pip install protobuf==3.6.1
即可解决