1、使用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總線之間的數據傳輸次數過多,性能會非常低
2、使用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