tensorflow conv2d内存消耗说明?

时间:2017-04-20 18:24:08

标签: memory tensorflow convolution tensorboard

output = tf.nn.conv2d(input, weights, strides = [1,3,3,1], padding = 'VALID')

我的input形状为200x225x225x1,weights为15x15x1x64。因此,output(225-15)/3 + 1 = 71

以来形状为200x71x71x64

Tensorboard显示此操作总共消耗768MB(见下图)。假设它考虑了输入(38.6MB),权重(0.06MB)和输出(246.2MB)的大小,总内存消耗不应超过300MB。那么其余的内存消耗来自哪里呢?

tensorboard

1 个答案:

答案 0 :(得分:0)

虽然我无法根据提供的信息重现您的图表和值,但由于在计算Conv2D期间实现了中间值,您可能会看到额外的内存使用量。仪器也可能不正确。 (例如,不会导致Tensor内存副本的重新整形操作最终会复制TF Node Stats工具中的“内存使用”。)如果没有可重现的测试用例,则很难说更多。如果您觉得这是TensorFlow中的错误,请在Github上提出问题!