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 对象在设计上是不可变的。
可能有另一种方法可以完成您想要的(并且了解 运行 内存不足的情况以供将来改进会很有趣)。
我正在尝试 运行 在 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 对象在设计上是不可变的。
可能有另一种方法可以完成您想要的(并且了解 运行 内存不足的情况以供将来改进会很有趣)。