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

TensorFlow2目标检测创建train.record与test.record时参数无法识别报错

TensorFlow2生成tfrecord参数报错解决方案

报错信息如下:

usage: generate_tfrecord.py [-h] [-i IMAGEDIR] [-o OUTPUTDIR] [-r RATIO] [-x]
generate_tfrecord.py: error: unrecognized arguments: /content/training_demo/images/train -l /content/training_demo/annotations/label_map.pbtxt
usage: generate_tfrecord.py [-h] [-i IMAGEDIR] [-o OUTPUTDIR] [-r RATIO] [-x]
generate_tfrecord.py: error: unrecognized arguments: /content/training_demo/images/test -l /content/training_demo/annotations/label_map.pbtxt

报错核心原因

从脚本的usage提示可以看出,你当前使用的generate_tfrecord.py版本仅支持5个可选参数:

  • -h:查看帮助信息
  • -i:指定图像所在目录
  • -o:指定record文件输出目录
  • -r:指定训练集、测试集拆分比例
  • -x:开启XML格式标注解析开关
    你执行命令时传入了脚本未定义的-l参数指定标签映射文件,因此触发参数不识别报错。

定位步骤

  • 执行python generate_tfrecord.py -h查看脚本完整参数说明,确认所有支持的入参规则,避免传入未定义参数
  • 查看generate_tfrecord.py源码,确认标签映射文件是内置了固定读取路径,还是需要放到指定目录才能被正常读取
  • 核对你参考的教程对应的脚本版本,不同开源仓库的tfrecord生成脚本参数设计差异很大,不要混用不同版本的执行命令

解决方案

方案1:修改执行命令适配现有脚本

如果你的脚本不需要手动传入标签映射路径,直接去掉-l和后面的标签路径参数即可,命令参考:

# 生成训练集record
python generate_tfrecord.py -i /content/training_demo/images/train -o /content/training_demo/annotations/train.record
# 生成测试集record
python generate_tfrecord.py -i /content/training_demo/images/test -o /content/training_demo/annotations/test.record

如果脚本自带数据集拆分功能,不需要单独传train/test路径,加-r参数指定拆分比例即可:

python generate_tfrecord.py -i /content/training_demo/images -o /content/training_demo/annotations -r 0.2

方案2:修改脚本适配参数需求

如果你需要保留-l参数指定标签映射的功能,直接在脚本的argparse初始化部分添加对应参数定义即可,代码参考:

# 在脚本的argparse.ArgumentParser初始化代码块中添加以下行
parser.add_argument('-l', '--labelmap', help='Path to label map pbtxt file', required=True)

添加完成后就可以正常使用带-l参数的执行命令。

内容的提问来源于stack exchange,提问作者Satyam Tripathi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:09:03