Ubuntu18下安装tensorflow-cpu报错‘serialized_options‘

搭建Tensorflow-cpu环境的时候,遇到以下错误,各种资料查阅了很久,网上的各种方法基本都试过了,没有解决,结果,无意的一个动作,却解决了困扰我的问题。

操作系统:Ubuntu18.04

Tensowflow:tensorflow-cpu  2.3.1

Python:3.6.9

pip:20.2.4

按照网上的教程,安装tensorflow:

pip3 install --user --upgrade tensorflow-cpu

提示安装成功,进行验证:

python3

import tensorflow as tf

回车后报一大堆错,末尾的错误信息为:

__new__() got an unexpected keyword argument 'serialized_options'

根据给错误信息网络搜索,说明遇到该问题的人很多,但解决办法几乎都是升级pip即可。我尝试了各种办法,都没能解决。

今天在配置另一个环境的时候,执行了以下命令:

apt install python3-venv

也就是安装python3-venv,再次验证tensorflow环境,居然正常了!!!!

root@mj-unbuntu18:/opt# python3
Python 3.6.9 (default, Oct  8 2020, 12:12:24) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf;
>>> print(tf.reduce_sum(tf.random.normal([1000, 1000])));
2020-10-31 14:30:54.505470: I tensorflow/core/platform/profile_utils/cpu_utils.cc:104] CPU Frequency: 2000000000 Hz
2020-10-31 14:30:54.505727: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x3af74a0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-10-31 14:30:54.505756: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
tf.Tensor(1496.73, shape=(), dtype=float32)

困扰多天的问题就这么轻易的解决了。

### 解决 Python `TypeError` 关于意外关键字参数 `serialized_options` 当遇到错误消息 "TypeError: __new__() got an unexpected keyword argument 'serialized_options'" 或类似的初始化方法中的错误时,通常是因为使用的库版本不兼容所引起的。具体来说,在较新的 Protocol Buffers (protobuf) 版本中引入了名为 `serialized_options` 的新字段,而旧版的某些依赖项可能并不支持此字段。 #### 诊断问题 该问题是由于安装了过时版本的 Protobuf 库造成的[^4]。在命令行输出可以看到当前环境中 protobuf 的版本为 3.0.0,这是一个非常老的版本,可能导致与现代框架或其他更新后的软件包之间的冲突。 #### 解决策略 为了修复这个特定类型的 TypeError 错误,建议采取以下措施: 升级 Protobuf 到最新稳定版本可以解决这个问题。可以通过 pip 工具来完成这一操作: ```bash pip install --upgrade protobuf ``` 如果项目中有其他依赖关系阻止直接升级,则考虑创建一个新的虚拟环境并在此环境下单独测试和调整依赖版本组合。 对于那些无法立即迁移到更高版本的情况,也可以尝试降级到某个已知能正常工作的中间版本,比如通过指定版本号来进行安装: ```bash pip install protobuf==3.20.1 ``` 需要注意的是,选择哪个确切版本取决于应用程序的具体需求以及它与其他组件间的兼容性状况。 #### 验证解决方案的有效性 执行上述更改之后,重新启动应用或脚本来确认问题已被成功解决。同时检查是否有任何新的警告或错误信息出现,确保整个系统的稳定性未受影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值