培训期间的批量大小设置

时间:2018-07-18 17:03:25

标签: keras gpu

当我使用keras + tensorflow-gpu进行训练时,我将batch_size设置为128,这是gpu可以接受的最大大小,否则,会出现OOM问题。我的问题是,当batch_size为128时,图片大小为128 * 224 * 224 * 3 * 4(img大小为224 * 224,在RGB通道中),总计约为10M字节,与GPU的内存。有什么解释吗?

2 个答案:

答案 0 :(得分:1)

您忘记了3还要需要GPU内存的其他东西。

  1. 您的模型权重。

  2. 计算梯度时的临时变量。

这两个占用了大量内存。 这就是为什么即使您的批次消耗了10M

  1. 还有很多其他需要GPU内存的东西。

答案 1 :(得分:1)

图像为uint,张量为float64,其大小增加了八倍。前向路径,渐变和其他张量会占用大量内存。

您可以根据给定here

计算模型所需的内存