一、使用predict時,需設置batch_size
查看keras文檔中,predict函數原型:predict(self, x, batch_size=32, verbose=0)
說明:只使用batch_size=32,也就是說每次將batch_size=32的數據經過PCI總線傳到GPU,而後進行預測。在一些問題中,batch_size=32明顯是很是小的。而經過PCI傳數據是很是耗時的。因此,使用的時候會發現預測數據時效率奇低,其緣由就是batch_size過小了。
經驗:使用predict時,必須人爲設置好batch_size,不然PCI總線之間的數據傳輸次數過多,性能會很是低
二、使用fit_generator時,需設置steps_per_epoch
說明:keras 中 fit_generator參數steps_per_epoch已經改變含義了,目前的含義是一個epoch分紅多少個batch_size。舊版的含義是一個epoch的樣本數目。
若是說訓練樣本樹N=1000,steps_per_epoch = 10,那麼至關於一個batch_size=100,若是仍是按照舊版來設置,那麼至關於batch_size = 1,會性能很是低。經驗:必須明確fit_generator參數steps_per_epoch