博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
import tensorflow 出错TypeError: init() got an unexpected keyword argument 'serialized_options'
阅读量:2063 次
发布时间:2019-04-29

本文共 2497 字,大约阅读时间需要 8 分钟。

博主在import tensorflow 的时候,出现如下错误:

>>> import tensorflow as tfTraceback (most recent call last):File "", line 1, in File "/usr/local/lib/python3.4/dist-packages/tensorflow/init.py", line 22, in from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-im portFile "/usr/local/lib/python3.4/dist-packages/tensorflow/python/init.py", l ine 52, in from tensorflow.core.framework.graph_pb2 import *File "/usr/local/lib/python3.4/dist-packages/tensorflow/core/framework/graph_p b2.py", line 15, in from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_do t_framework_dot_node__def__pb2File "/usr/local/lib/python3.4/dist-packages/tensorflow/core/framework/node_de f_pb2.py", line 15, in from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_ dot_framework_dot_attr__value__pb2File "/usr/local/lib/python3.4/dist-packages/tensorflow/core/framework/attr_va lue_pb2.py", line 15, in from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_ framework_dot_tensor__pb2File "/usr/local/lib/python3.4/dist-packages/tensorflow/core/framework/tensor_ pb2.py", line 15, in from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_ core_dot_framework_dot_resource__handle__pb2File "/usr/local/lib/python3.4/dist-packages/tensorflow/core/framework/resourc e_handle_pb2.py", line 22, in serialized_pb=_b('\n/tensorflow/core/framework/resource_handle.proto\x12\nte nsorflow"r\n\x13ResourceHandleProto\x12\x0e\n\x06\x64\x65vice\x18\x01 \x01(\t\x 12\x11\n\tcontainer\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x11\n\ thash_code\x18\x04 \x01(\x04\x12\x17\n\x0fmaybe_type_name\x18\x05 \x01(\tBn\n\x1 8org.tensorflow.frameworkB\x0eResourceHandleP\x01Z=github.com/tensorflow/tensorf low/tensorflow/go/core/framework\xf8\x01\x01\x62\x06proto3')TypeError: init() got an unexpected keyword argument 'serialized_options'

分析原因:出现这个问题,博主认为主要以为TensorFlow版本与protobuf版本不匹配的原因。

解决办法:首先输入命令  conda list  查看你TensorFlow版本与protobuf版本,如果你使用的是tensorflow 1.8或更早版本,请使用protobuf 3.4或更早版本。博主亲测,TensorFlow1.8与protobuf3.4匹配。如果您使用的是TF 1.9或更高版本,请使用最新版本的protobuf。目前最新好像是3.6.

tensorflow 1.11.0必须要求protobuf> = 3.6.0

方法1:先卸载:

pip uninstall protobuf

 

重新安装protobuf:

pip install -U protobuf

方法2:

pip3 uninstall protobuf pip3 uninstall tensorflow (卸载之前版本)pip3 install tensorflow == 1.9.0(安装protobuf-3.6.0 tensorflow-1.5.0)

 总之,TensorFlow版本与protobuf版本,必须要匹配,可以降低TensorFlow版本。亲测的版本是:TensorFlow1.9与protobuf3.6匹配。TensorFlow1.8与protobuf3.4匹配。至于其他的,可以慢慢试那种搭配合适。

 

 

 

转载地址:http://duwmf.baihongyu.com/

你可能感兴趣的文章
使用 Cilium 作为网络插件部署 K8s + KubeSphere
查看>>
万变不离其宗,性能优化也有章可循
查看>>
别再乱用 Prometheus 联邦了,分享一个 Prometheus 高可用新方案
查看>>
Litmus 实践:让群魔在混沌中乱舞,看 K8s 能撑到何时
查看>>
Prometheus 存储层的演进
查看>>
Kubernetes 边缘节点抓不到监控指标?试试这个方法!
查看>>
不对全文内容进行索引的 Loki 到底优秀在哪里
查看>>
太强大了!这些 Go 的难点问题都能解决!
查看>>
万字长文:K8s 创建 pod 时,背后到底发生了什么?
查看>>
后云原生时代,Kubernetes:你看我还有机会吗?
查看>>
Wintun:一款惊艳的 WireGuard 虚拟网卡接口驱动
查看>>
个人学习方法分享
查看>>
时隔多年。。终于有一款云原生消息系统出仕了!
查看>>
[译]数据包在 Kubernetes 中的一生(1)
查看>>
[译]数据包在 Kubernetes 中的一生(2)
查看>>
[译]数据包在 Kubernetes 中的一生(3)
查看>>
从源头解决 Service Mesh 问题最彻底!
查看>>
一次“不负责任”的 K8s 网络故障排查经验分享
查看>>
一次有趣的 Docker 网络问题排查经历
查看>>
KubeSphere Meetup 北京站火热报名中 | 搭载 CIC 2021 云计算峰会
查看>>