在 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
相关推荐
巷北夜未央1 分钟前
Python每日一题(14)
开发语言·python·算法
大模型真好玩5 分钟前
理论+代码一文带你深入浅出MCP:人工智能大模型与外部世界交互的革命性突破
人工智能·python·mcp
XiaoLeisj13 分钟前
【MyBatis】深入解析 MyBatis XML 开发:增删改查操作和方法命名规范、@Param 重命名参数、XML 返回自增主键方法
xml·java·数据库·spring boot·sql·intellij-idea·mybatis
风象南13 分钟前
SpringBoot实现数据库读写分离的3种方案
java·spring boot·后端
振鹏Dong20 分钟前
策略模式——本质是通过Context类来作为中心控制单元,对不同的策略进行调度分配。
java·策略模式
ChinaRainbowSea29 分钟前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
雾月5530 分钟前
LeetCode 914 卡牌分组
java·开发语言·算法·leetcode·职场和发展
Y.O.U..40 分钟前
今日八股——C++
开发语言·c++·面试
呵呵哒( ̄▽ ̄)"40 分钟前
线性代数:同解(1)
python·线性代数·机器学习
melck43 分钟前
liunx日志查询常用命令总结
java·服务器·网络