今天訓練網絡時出現OOM的error,現總結幾點調整方式
OOM 是由GPU內存不夠導致的溢出error,解決方法有以下幾點:
1. 降低batch,但是有些網絡對batch有一定的要求,當batch=1時,BN失效。一般情況下,batch儘可能大一些,加速訓練的同時可以獲得較好的性能。
2.降低filter數量
3.降低buffer緩存,如下圖所示,dataset.shuffle中的buffer數量通常設置爲batch_size*8,無需太大。
dataset = dataset.batch(batch_size)
dataset = dataset.shuffle(batch_size*8)