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

 

更多推荐