簡體   English   中英

在一張圖像中多次出現相同的 label - Tensorflow

[英]Same label multiple times in one image - Tensorflow

我正在嘗試創建一個 tf model,它可以檢測任何圖像中的任何筆跡。 為了做到這一點,我只用一個 label: edit 在所有火車圖片中制作了標簽。 這意味着,一張圖像可以多次使用此標簽。

經過數小時的使用 cpu 訓練后,我沒有得到預期的結果。 model 看不到我訓練前給的任何積木。

我正在使用以下 model:

http://download.tensorflow.org/models/object_detection/tf2/20200711/efficientdet_d6_coco17_tpu-32.tar.gz

問題是我多次用一個 label 標記一張圖像嗎?

可能是使用 cpu 而不是 gpu 的問題? 我目前有一個 4GB 的 gpu,但似乎不夠用。 我用 2000 步訓練了 model,learning_rate 是 0.006。 我應該訓練它不止於此嗎?

有什么建議么?

提前謝謝你。

編輯

以下是經過訓練的 model 的 tensorboard 的屏幕截圖:

訓練模型的張量板

CPU 與 GPU

GPU 唯一的優勢就是訓練速度更快。 它不應該對預期結果有任何影響。 只是需要更長的時間。 但是,對於某些型號,差異可能很大。 監控你的訓練可能會給你更多的洞察力。

訓練監控

沒有得到預期的結果是什么意思? 它與您的預期有何不同?

我建議您使用某種監控,例如 Tensorboard 來監控訓練和驗證數據集的損失和指標(如果您還沒有這樣做的話)。 這將為您提供有關實時培訓的寶貴信息。

流水線調試

當你的model好像學不到什么東西的時候,你就要開始調試了。 您可以按照以下步驟來確保這些都不是您的問題: https://blog.slavv.com/37-reasons-why-your-neural.network-is-not-working-4020854bd607

我特別喜歡在單個批次上過擬合 model。 這個測試告訴我我的算法管道是否正確,包括預處理、model 和評估。 結果應該是對單個訓練批次的評估應該給你一個很好的分數,而對於數據的 rest,分數會很差,因為 model 將在單個批次上過度擬合。

問題定義

有時,問題可能定義錯誤。 你能澄清一下你的標簽是什么嗎? 我不完全明白。 如果它是一個常見問題,那么你可以搜索 inte.net 以查看通常如何定義的靈感。

編輯

損失函數

一般來說,你希望你所有的損失函數都下降到 go。 在您的情況下,他們 go 在前幾百步中上升,這不一定表示有問題,因為有時在訓練穩定之前需要很短的時間。 N.盡管如此,三角形表明損失是 NaN。 這意味着有問題。 我可以推薦使用tf.keras.callbacks.TerminateOnNaN回調來立即檢測損失中的 NaN,這將立即終止您的訓練。

指標

從損失函數本身,很難判斷模型的性能如何。 在每個機器學習任務中,您都必須能夠理解 model 的性能。指標正是用於此目的。 在這種情況下(對象檢測),我建議使用IoU來確定預測框與目標框的重疊程度,並使用precisionrecall來評估預測框是否包含手寫文本的二元分類性能。

暫無
暫無

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

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