今天训练网络时出现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)