在 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
相关推荐
方圆想当图灵13 分钟前
缓存之美:万文详解 Caffeine 实现原理(下)
java·redis·缓存
doubt。26 分钟前
【BUUCTF】[RCTF2015]EasySQL1
网络·数据库·笔记·mysql·安全·web安全
fmdpenny27 分钟前
Vue3初学之商品的增,删,改功能
开发语言·javascript·vue.js
栗豆包28 分钟前
w175基于springboot的图书管理系统的设计与实现
java·spring boot·后端·spring·tomcat
通信.萌新34 分钟前
OpenCV边沿检测(Python版)
人工智能·python·opencv
Bran_Liu39 分钟前
【LeetCode 刷题】字符串-字符串匹配(KMP)
python·算法·leetcode
涛ing41 分钟前
21. C语言 `typedef`:类型重命名
linux·c语言·开发语言·c++·vscode·算法·visual studio
weixin_3077791342 分钟前
分析一个深度学习项目并设计算法和用PyTorch实现的方法和步骤
人工智能·pytorch·python
Maybe_ch1 小时前
群晖部署-Calibreweb
数据库·群晖·nas
小辛学西嘎嘎1 小时前
MVCC在MySQL中实现无锁的原理
数据库·mysql