weights = tf.placeholder("float",[5,5,1,1])
imagein = tf.placeholder("float",[1,32,32,1])
conv = tf.nn.conv2d(imagein,weights,strides=[1,1,1,1],padding="SAME")
deconv = tf.nn.conv2d_transpose(conv, weights, [1,32,32,1], [1,1,1,1],padding="SAME")
dw = np.random.rand(5,5,1,1)
noise = np.random.rand(1,32,32,1)
sess = tf.InteractiveSession()
convolved = conv.eval(feed_dict={imagein: noise, weights: dw})
deconvolved = deconv.eval(feed_dict={imagein: noise, weights: dw})
저는 Tensorflow의 컨볼 루션을 되돌리기 위해 conv2d_transpose를 알아 내려고 노력했습니다. 내 이해는 "deconvolved"는 일반적인 컨볼 루션을 적용한 후 "잡음"과 동일한 데이터를 포함해야하지만, "deconvolved"는 완전히 다른 이미지를 포함합니다. 내 코드에 문제가 있습니까? 아니면 이론이 잘못 되었습니까?Conv2d_Transpose/deconv2d가 텐서 흐름의 원래 입력을 반환하지 않는 이유는 무엇입니까?