Colab kill '^C' - 小数据集和小 batch_size 内存不足?

Colab kill '^C' - out of memory with small dataset and small batch_size?

我正在尝试 运行 一个小数据集上的掩码 R-CNN 架构(目前与教程中的相同),遵循此 tutorial
我想我 运行 内存不足。这是给定的输出:

[...]
Future major versions of TensorFlow will allow gradients to flow
into the labels input on backprop by default.

See `tf.nn.softmax_cross_entropy_with_logits_v2`.

tcmalloc: large alloc 644245094400 bytes == 0x1a936c000 @  0x7efe929e7b6b 0x7efe92a07379 
0x7efe76f65287 0x7efe6848dc0f 0x7efe6851644b 0x7efe68388cc6 0x7efe68389b8c 0x7efe68389e13 
0x7efe7182f2b7 0x7efe71853a35 0x7efe6860b53f 0x7efe686005c5 0x7efe686be551 0x7efe686bb263 
0x7efe686aa3a5 0x7efe923c96db 0x7efe92702a3f
^C

我的问题是 12.5 GB RAM,即使我有一个相对较小的数据集和 batch_size = 1,这对吗? 这是我的 Colab-Notebook.

除了batch_sizeshuffle_buffer_size之外,还有哪些减少内存负载的选项?

我认为你的错误来自于你的掩码大小 = (1024, 1024)。该网络将为每张图像预测几十年的掩码,然后 select 预测其中最好的。在这种情况下,如果您的图像已经是大小 (1024, 1024),然后是几个相同大小的蒙版,那么您的 GPU 没有足够的内存来保存它们。

在标准配置中,面罩的尺寸为:

mask_height: 33
mask_width: 33

所以我建议你改变它。