簡體   English   中英

凱拉斯:關於GPhilo的關於prevs與Forecast_on_batch的帖子的問題。 無法預測()已經處理好單個圖像嗎?

[英]Keras: Question on GPhilo's post on predict vs predict_on_batch. Can't predict() already handle single images just fine?

Keras模型的predict和predict_on_batch方法之間有什么區別?

“不同之處在於,當您傳遞大於一批的x數據時。

預測將遍歷所有數據,預測標簽。 因此,它在內部分批進行分批並一次進料一批。

另一方面,predict_on_batch假定您傳入的數據正好是一批,因此將其饋送到網絡。 它不會嘗試將其拆分(如果陣列很大,則拆分可能會對您的GPU內存造成問題,具體取決於您的設置)”-GPhilo

1)我很難理解為什么我們要在單個圖像上使用predict_on_batch,而不是直接在單個批處理上運行predict()。 Gphilo說predict_on_batch的優點是predict_on_batch不會嘗試在參數中拆分變量。

對於單個圖像,如果數據嘗試分割圖像,我們該怎么辦? .predict()是否應該能夠處理單個圖像? 預報()將能夠正確識別單個圖像,對不對?

假設我們有一個灰度圖像single_image,大小為(1,128,128,1)

那我們不能做:

model.predict(單張圖片)

代替

model.predict_on_batch(single_image)嗎?

並且使用predict_on_batch似乎有缺點。 那么,如果predict_on_batch會導致GPU問題,為什么還要使用predict_on_batch? Forecast_on_batch有什么好處?

2)還是我誤會了? 出於我未曾想到的原因,.predict能不能很好地攝取單個圖像嗎?

我是一個初學者,我想也許我在誤解/沒有注意到GPhilo信息中的明顯內容。

是的你可以。

  • 您可以預測很多批次(系統會得出結論,這是一個批次)
  • 您可以預測一個批次(系統不會嘗試計算批次)

兩種選擇都很好。

使用predict_on_batch沒有缺點。 相反,它會快於predict ,因為它確實少東西。

如果batch_size == len(data) ,則predict_on_batch中可能發生的所有內存問題與predict情況完全相同。

暫無
暫無

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

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