TensorFlow 中 Tensor 的部分更新

Partial update on Tensor in TensorFlow

我正在尝试 运行 在 TensorFlow 中对图像进行多次卷积,然后连接结果。因为 tf.concat 分配新张量 I 有时 运行 到 ResourceExhaustedError (当前解决方案是将 batch_size 更改为更小的值)。

所以这是我的问题。有没有办法创建大张量(我提前知道所有维度)然后将卷积结果分配给它(一部分一部分以避免连接和内存分配)?或者也许还有其他更有效的方法?

类似于:

convs = tf.Variable(tf.zeros([..])
tf.update(convs, [..], tf.nn.conv2d(..) + biases1)
tf.update(convs, [..], tf.nn.conv2d(..) + biases2)
^^^^^^^^^         ^^offsets

没有办法做到这一点 - TensorFlow 对象在设计上是不可变的。

可能有另一种方法可以完成您想要的(并且了解 运行 内存不足的情况以供将来改进会很有趣)。