【问题标题】:How to restore a fine-tuned model with Tensorflow 2 Object Detection API for testing?如何使用 Tensorflow 2 对象检测 API 恢复微调模型以进行测试?
【发布时间】:2021-12-18 18:15:05
【问题描述】:

我已经成功训练(微调)并验证了来自 Tensorflow Model Zoo 2 的对象检测模型,使用以下配置:

... 
train_input_reader: {
  label_map_path: "/label_map.pbtxt"
  tf_record_input_reader {
    input_path: "/train.record"
  }
}

eval_config: {
  metrics_set: "coco_detection_metrics" #coco_detection_metrics
  use_moving_averages: false
  batch_size: 1;
}

eval_input_reader: {
  label_map_path: "/label_map.pbtxt"
  shuffle: false
  num_epochs: 1
  tf_record_input_reader {
    input_path: "/validation.record"
  }
}
...

然后我通过分析 Tensorboard 上的性能注意到,基于 eval loss 的最佳模型位于步骤 13k 即 ckpt-14。 但是,我也有 /test.record,我想在其上测试基于 ckpt.14 的模型。我能做什么?我尝试使用 ckpt-14.index e ckpt-14.data-... 创建一个单独的文件夹,并且名为“checkpoint”的文件仅包含 ckpt-14 及其时间戳,然后通过将validation.record替换为测试记录。在 tf_record_input_reader 中。

正确吗?有没有正确的方法来测试基于带有 tensorflow 2 对象检测 api 的检查点的模型?

【问题讨论】:

    标签: tensorflow validation machine-learning object-detection


    【解决方案1】:

    您可以同时在同一个模型上训练和测试......但是如果您有一个 GPU,并且使用大型数据集进行训练,则可能无法使用同一个 GPU 运行测试,因为它会导致内存错误.....一个好方法是使用相同的代码并使用变通方法使用 CPU 进行测试.......测试周期每 1000 步在 Tensorboard 上进行一次,你可以看到测试和评估,你还会看到并排的边界框和ground truth……

    我将尝试分享并发训练和测试的代码.....训练使用GPU,测试使用CPU......它一直在为我工作,没有怀疑,它也应该对你有用.....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-09
      • 2019-01-22
      • 2021-02-01
      • 2019-03-05
      • 2018-09-30
      • 2019-03-12
      • 2019-04-05
      • 2021-08-07
      相关资源
      最近更新 更多