我试图在TensorFlow中对图像运行多个卷积,然后连接结果。由于tf.concat
分配了新的张量,我有时遇到ResourceExhaustedError
(当前解决方案是将batch_size
更改为更小的值)。
所以这是我的问题。有没有办法创建大张量(我事先知道所有维度)然后将卷积结果分配给它(逐个部分以避免连接和内存分配)?或者也许还有其他更有效的方法吗?
类似的东西:
convs = tf.Variable(tf.zeros([..])
tf.update(convs, [..], tf.nn.conv2d(..) + biases1)
tf.update(convs, [..], tf.nn.conv2d(..) + biases2)
^^^^^^^^^ ^^offsets
答案 0 :(得分:1)
没有办法做到这一点 - TensorFlow对象在设计上是不可变的。
可能还有另一种方法可以实现您想要的功能(并且了解内存不足以备将来改进的情况也很有趣)。