gpt4 book ai didi

tensorflow - 如何在tensorflow中deconv2d的output_shape参数中给出变量batch_dim?

转载 作者:行者123 更新时间:2023-12-03 17:12:15 25 4
gpt4 key购买 nike

我正在尝试对可变大小的数据批处理使用tf.nn.deconv2d()操作。但是,我似乎需要按如下方式设置 output_shape 参数:

tf.nn.deconv2d(x, filter, output_shape=[12, 24, 24, 5], strides=[1, 2, 2, 1],
padding="SAME")

为什么tf.nn.deconv2d()采用固定的output_shape?有没有办法指定可变批量尺寸?如果输入批量大小变化会发生什么?

最佳答案

注意 tf.nn.deconv2d()将被称为 tf.nn.conv2d_transpose() 在 TensorFlow 的下一版本 (0.7.0) 中。

output_shape tf.nn.deconv2d() 的参数接受计算的 Tensor作为其值,这使您能够指定动态形状。例如,假设您的输入定义如下:

# N.B. Other dimensions are chosen arbitrarily.
input = tf.placeholder(tf.float32, [None, 24, 24, 5])

...然后可以在运行时计算特定步骤的批量大小:

batch_size = tf.shape(input)[0]

使用此值,您可以构建 output_shape tf.nn.deconv2d() 的参数使用 tf.pack() :

output_shape = tf.pack([batch_size, 24, 24, 5])

result = tf.nn.deconv2d(..., filter, output_shape=output_shape,
strides=[1, 2, 2, 1], padding='SAME')

关于tensorflow - 如何在tensorflow中deconv2d的output_shape参数中给出变量batch_dim?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35346599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com