你正在使用GPU进行CNN类模型训练,突然发生了内存溢出的错误,你可以通过哪些方式来进行解决?

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你正在使用GPU进行CNN类模型训练,突然发生了内存溢出的错误,你可以通过哪些方式来进行解决?相关的知识,希望对你有一定的参考价值。

你正在使用GPU进行CNN类模型训练,突然发生了内存溢出的错误,你可以通过哪些方式来进行解决?

在GPU内存发生溢出(memory overflow)的时候、我们首先想到的肯定是增加GPU的资源,比如我们变成多GPU训练或者升级GPU的类型。

但是,现实情况下,资源往往是有限的。那么我们就得考虑别的方案来进行问题的解决:

1, 减少每个批次的大小(降低batch_size);

2, 在一层或者多层中使用较大的步幅(stride)来降低维度;

3,删除网络中的一层或者多层;

4,使用16位浮点数来代替32位浮点数进行运算;

5,在多个设备上分配CNN模型即多GPU训练;

参考:Hands-on-Machine-Learning-with-Scikit-Learn-Keras-and-TensorFlow

参考:

以上是关于你正在使用GPU进行CNN类模型训练,突然发生了内存溢出的错误,你可以通过哪些方式来进行解决?的主要内容,如果未能解决你的问题,请参考以下文章