You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行生成TFRecord代码遇runtime_version导入错误(TF2.10.1+protobuf3.19.6)

解决生成TFRecord时的protobuf导入错误

问题场景

执行以下生成TFRecord的代码:

!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x {IMAGE_PATH + '/train'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/train.record'}

!python {SCRIPTS_PATH + '/generate_tfrecord.py'} -x{IMAGE_PATH + '/test'} -l {ANNOTATION_PATH + '/label_map.pbtxt'} -o {ANNOTATION_PATH + '/test.record'}

出现以下错误:

from google.protobuf import runtime_version as runtime_version
ImportError: cannot import name 'runtime_version' from 'google.protobuf' (C:\Users\VERRA HALIZZAH\AppData\Local\Programs\Python\Python39\lib\site-packages\google\protobuf\__init__.py)

当前环境:TensorFlow 2.10.1,protobuf 3.19.6

解决方法

方法1:修改generate_tfrecord.py中的导入语句

错误原因是你的generate_tfrecord.py脚本使用了protobuf 3.20+才有的runtime_version模块,但当前3.19.6版本没有这个API。打开该脚本,找到导入runtime_version的代码行,做如下调整:

如果脚本只是导入但未实际使用该模块,直接删除这行导入语句即可;如果有使用,替换为兼容旧版本的写法:

try:
    from google.protobuf import runtime_version as runtime_version
except ImportError:
    # 兼容protobuf 3.19及以下版本
    runtime_version = None

方法2:调整protobuf版本匹配TensorFlow

TensorFlow 2.10.1官方支持的protobuf版本范围是>=3.19.6,<3.20.0,可执行以下命令升级到该范围内的最新兼容版本:

pip install protobuf==3.19.7 --upgrade

若升级后仍有异常,可降级回3.19.6版本确保基础兼容性:

pip install protobuf==3.19.6 --force-reinstall

内容的提问来源于stack exchange,提问作者Galih Raihan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 20:55:02