簡體   English   中英

如何使用 Tensorflow 2 對象檢測 API 恢復微調模型進行測試?

[英]How to restore a fine-tuned model with Tensorflow 2 Object Detection API for testing?

我已經使用以下配置成功訓練(微調)並驗證了來自 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 損失的最佳模型在第 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 測試基於檢查點的模型?

你可以同時在同一個模型上訓練和測試......但是如果你有一個 GPU,並且用一個大數據集訓練,可能無法用同一個 GPU 運行測試,因為它會導致內存錯誤.....一個好方法是使用相同的代碼並使用變通方法來使用 CPU 進行測試.......測試周期每 1000 步進行一次,在 Tensorboard 上,您可以看到測試和評估,你還會看到邊界框與地面實況並排......

我將嘗試分享並發訓練和測試的代碼......對於訓練,它將使用 GPU,而對於測試,它將使用 CPU......它一直對我有用,毫無疑問,它也應該為你工作......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM