在 Python 中使用 Tensorflow 时出错:google.protobuf

问题

我尝试使用 Python 3.8.20 和 Tensorflow 2.10 在 Windows 上的 Anaconda 环境中运行 Python 脚本。出现以下错误:

回溯(最近一次调用最后一次):文件

"D:\models\research\object_detection\builders\model_builder_test.py",第 20 行,来自 object_detection.builders 导入 model_builder 文件"D:\models\research\object_detection\builders\model_builder.py",第 23 行,来自 object_detection.builders 导入 anchor_generator_builder 文件"D:\models\research\object_detection\builders\anchor_generator_builder.py",第 26 行,来自 object_detection.protos 导入 anchor_generator_pb2 文件"D:\models\research\object_detection\protos\anchor_generator_pb2.py",第 9 行,来自 google.protobuf 导入 Runtime_version 作为Runtime_version ImportError:无法从'google.protobuf'导入名称'runtime_version' (C:\Users\pcmsi\anaconda3\envs\tf_env\lib\site-packages\google\protobuf_ init.py) **

解决方案

这是一个兼容性问题。使用以下方法检查 protobuf 版本

java 复制代码
pip show protobuf

如果您的 protobuf 版本为 4.x 或更高版本,则可能与 TensorFlow 2.10 不兼容。TensorFlow 2.10 通常与 protobuf 3.x 配合使用效果最佳。

如果版本确实不兼容,请使用以下方法升级 TF:

java 复制代码
pip install --upgrade tensorflow

或者使用以下方式降级 protobuf

java 复制代码
pip install protobuf==3.20.3
相关推荐
小池先生2 分钟前
activemq延迟消息变成实时收到了?
linux·数据库·activemq
zl218786544831 分钟前
Playwright同步、异步、并行、串行执行效率比较
开发语言·python·测试工具
larance34 分钟前
asyncio数据流
python
lang2015092835 分钟前
MySQL I/O线程优化:提升性能的关键配置
数据库·mysql
Tony Bai1 小时前
【Go开发者的数据库设计之道】05 落地篇:Go 语言四种数据访问方案深度对比
开发语言·数据库·后端·golang
gopyer1 小时前
180课时吃透Go语言游戏后端开发3:Go语言中其他常用的数据类型
开发语言·游戏·golang·游戏后端开发
come112341 小时前
Go vs. PHP:核心优势劣势对比
开发语言·golang·php
eqwaak01 小时前
Flask实战指南:从基础到高阶的完整开发流程
开发语言·后端·python·学习·flask
金仓数据库2 小时前
平替MongoDB | 金仓多模数据库助力电子证照国产化实践
数据库·mongodb
海琴烟Sunshine2 小时前
Leetcode 26. 删除有序数组中的重复项
java·算法·leetcode