【发布时间】:2016-08-09 21:44:34
【问题描述】:
我正在尝试制作一个可以接受任何尺寸灰度图像的卷积网络:
inputs = tf.placeholder(tf.float32, [None, None, None, 1])
最后一个卷积层的输出形状为 [None, None, None, 512],其中 512 是通道数。到目前为止一切都很好。问题是,我需要折叠第二维和第三维,所以我需要重塑。但是我不知道图形构建时的第二维和第三维,所以我这样做:
dims = tf.shape(output)
output = tf.reshape(output, [-1, dims[1] * dims[2], 512])
我希望最终的形状是 [?, ?, 512],但它是 [?,?,?]。我需要在代码后面的构建时知道最后一个维度,那么有没有办法以保留最后一个维度的大小的方式重塑输出张量? 谢谢。
【问题讨论】:
-
您使用的是哪个版本的 TensorFlow?这适用于我使用 HEAD 的代码(以及 0.10 版本)。
-
是的,就是这样,我使用的是 0.9.0,它适用于 0.10.0。谢谢!
标签: tensorflow