Мне интересно, возможно ли в итоге получить тот же тензор после распространения его через сверточный, а затем деконволюционный фильтр.Например:
random_image = np.random.rand(1, 6, 6, 3)
input_image = tf.placeholder(shape=[1, 6, 6, 3], dtype=tf.float32)
conv = tf.layers.conv2d(input_image, filters=6, kernel_size=[3, 3], strides=(1, 1), data_format="channels_last")
deconv = tf.layers.conv2d_transpose(conv, filters=3, kernel_size=[3, 3], strides=(1, 1), data_format="channels_last")
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(random_image)
# Get an output which will be same as:
print(sess.run(deconv, feed_dict={input_image: random_image}))
Другими словами, если сгенерированный вектор random_image
, например: [1,2,3,4,5]
, после свертки и деконволюции вектор deconv
будет [1,2,3,4,5]
.
Однако я не могу заставить его работать.
С нетерпением жду ваших ответов!