【发布时间】:2017-04-20 18:24:08
【问题描述】:
output = tf.nn.conv2d(input, weights, strides = [1,3,3,1], padding = 'VALID')
我的input 的形状是 200x225x225x1,weights 是 15x15x1x64。因此,output 的形状为 200x71x71x64,因为 (225-15)/3 + 1 = 71
Tensorboard 显示此操作总共消耗 768MB(见下图)。假设考虑到输入(38.6MB)、权重(0.06MB)和输出(246.2MB)的大小,总内存消耗不应超过300MB。那么剩下的内存消耗是从哪里来的呢?
【问题讨论】:
-
你需要发布完整的(最少的)代码:你对输出做了什么,等等
-
@MaxB 我认为图中某个节点的内存消耗不受其后其他节点操作的影响?我的图非常复杂(多层网络),这是第一个接受占位符输入的节点。将尝试用更简单的网络重现问题。
-
如果你在计算梯度,可能会被计算在节点内存使用中。
标签: memory tensorflow convolution tensorboard