tensorflow.layers.con2d_transpose是tensorflow的高级封装函数
使用时按正常的卷积来思考就可以了
先打出官方说明https://www.tensorflow.org/api_docs/python/tf/layers/conv2d_transpose
一如既往的简洁不明了。。。。
废话不多说,接下来马上上码
打开终端python3
设置测试数据
import tensorflow as tf
tf.set_random_seed(1)
x = tf.random_normal(shape = [1,3,3,1])
y = tf.layers.con2f_transpose(x,1,3)
运行
sess = tf.Session()
tf.global_variables_initializer().run(session = sess)
print(y.eval(session=sess))
结果
可以看出,输出是5*5的矩阵,输入是3*3的矩阵,步长是默认的[1,1],padding是默认的 valid,
所以在使用函数时,先考虑输出的与输入的shape关系,
接下来有点绕口了!!
把输入函数的张量看作是普通卷积的输出,其他参数与普通卷积一样
把上面的
y = tf.layers.con2f_transpose(x,1,3)
改成
y = tf.layers.con2f_transpose(x,2,3)
y输出的channel变成了2,说明fitter参数是描述输出的