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

如何使用Tensorflow 2 Object Detection API恢复微调模型并测试

你当前的操作逻辑基本可行,但存在几个容易引发异常或结果偏差的疏漏:

  • 手动修改的checkpoint索引文件需要保证路径、检查点前缀和你存放的ckpt-14文件完全匹配,任何拼写错误都会导致检查点加载失败
  • 测试用的pipeline配置除了输入数据集路径外,其余模型结构、预处理逻辑、use_moving_averages等超参数必须和训练配置完全一致,否则会出现精度偏差或加载报错
  • 要确保test.record的标注格式、类别数量和训练用的数据集完全对齐,否则COCO指标计算会出现异常

TensorFlow 2 Object Detection API 指定检查点测试的规范流程

无需手动复制检查点文件或修改checkpoint索引文件,直接通过修改配置+官方脚本执行即可,步骤如下:

1. 修改pipeline配置文件

只需修改两个字段即可:

# 替换评估输入为测试集
eval_input_reader: {
  label_map_path: "/label_map.pbtxt"
  shuffle: false
  num_epochs: 1
  tf_record_input_reader {
    input_path: "/test.record" # 替换为你的测试集路径
  }
}

# 评估配置新增指定检查点、单次执行参数
eval_config: {
  metrics_set: "coco_detection_metrics"
  use_moving_averages: false # 必须和训练时的配置保持一致
  batch_size: 1;
  checkpoint_path: "/你的训练输出目录/ckpt-14" # 直接指定要加载的检查点前缀,无需加.index、.data后缀
  run_once: true # 跑完一次测试就退出,不需要轮询新检查点
}

2. 执行测试命令

直接调用官方提供的model_main_tf2.py脚本启动评估即可:

python models/research/object_detection/model_main_tf2.py \
    --pipeline_config_path=你的pipeline.config文件路径 \
    --model_dir=指定一个空文件夹存放测试日志和结果 \
    --checkpoint_dir=你的训练输出目录路径 \
    --eval_training_data=False

可选:导出模型后离线测试

如果需要多次测试或者复用最优模型,可以先将指定检查点导出为SavedModel格式,再运行评估:

python models/research/object_detection/exporter_main_v2.py \
    --input_type=image_tensor \
    --pipeline_config_path=你的pipeline.config文件路径 \
    --trained_checkpoint_dir=你的训练输出目录路径 \
    --output_directory=导出模型的保存目录 \
    --checkpoint_number=14 # 指定要导出的检查点编号

导出完成后,你可以直接基于SavedModel文件运行自定义的评估逻辑,也可以继续用官方评估脚本跑测试集指标。

内容的提问来源于stack exchange,提问作者F.M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:09:01