在 conv2d_transpose()
中,有一个参数,叫 output_shape
, 如果对它传入一个 int list 的话,那么在运行的过程中,output_shape
将无法改变(传入int list
已经可以满足大部分应用的需要),但是如何更灵活的控制 output_shape
呢?
- 传入
tensor
# 可以用 placeholder
outputs_shape = tf.placeholder(dtype=tf.int32, shape=[4])
deconv1 = tf.nn.conv2d_transpose(conv1, filter=de_weight, output_shape=output_shape,
strides=[1, 3, 3, 1], padding='SAME')
# 可以用 inputs 的shape,但是有点改变
inputs_shape = tf.shape(inputs)
outputs_shape = [inputs_shape[0], inputs_shape[1], inputs_shape[2], some_value]
deconv1 = tf.nn.conv2d_transpose(conv1, filter=de_weight, output_shape=outputs_shape,
strides=[1, 3, 3, 1], padding='SAME')