在Colab中运行深度学习CNN模型时的内存使用情况

我正在进行一项研究,需要了解在Google Colab中运行深度学习模型(CNN)时,模型运行期间所使用的内存。有没有可以使用的代码来测量这一点?我主要想知道模型运行总共使用了多少内存(在所有epoch完成之后)。我使用的是Python进行编程。

此致敬礼,Avik


回答:

正如在这篇文章中所解释的以及我自己的观察,Tensorflow总是试图分配全部内存,无论你的模型大小如何。与之不同的是,例如MXNet只会分配运行模型所需的足够内存。

深入了解后,我发现这确实是Tensorflow的默认行为:使用所有可用的RAM来加速处理。这是合理的 🙂

你可能会认为更多的内存分配意味着更快的训练,但大多数情况下并非如此。你可以限制TensorFlow的内存使用,如下面的代码所示:

import tensorflow as tffrom keras.backend.tensorflow_backend import set_sessionconfig = tf.ConfigProto()config.gpu_options.per_process_gpu_memory_fraction = 0.9config.gpu_options.visible_device_list = "0"set_session(tf.Session(config=config))

这里是TensorFlow的文档,如果你需要更多关于如何设置TensorFlow内存使用限制的详细信息。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注