J'ai lu cet article sur l'utilisation de "convolutions de redimensionnement" plutôt que sur la méthode de "déconvolution" (c'est-à-dire la convolution transposée) pour générer des images avec des réseaux de neurones. Il est clair comment cela fonctionne avec une taille de foulée de 1, mais comment l'implémenteriez-vous pour une taille de foulée> 1?Pouvez-vous seulement avoir la taille de foulée 1 avec des circonvolutions de redimensionnement?
Voici comment j'ai implémenté ceci dans TensorFlow. Remarque: Il s'agit de la deuxième couche de "déconvolution" dans la partie décodeur d'un réseau d'autoencodeur.
h_d_upsample2 = tf.image.resize_images(images=h_d_conv3,
size=(int(self.c2_size), int(self.c2_size)),
method=tf.image.ResizeMethod.NEAREST_NEIGHBOR)
h_d_conv2 = tf.layers.conv2d(inputs=h_d_upsample2,
filters=FLAGS.C2,
kernel_size=(FLAGS.c2_kernel, FLAGS.c2_kernel),
padding='same',
activation=tf.nn.relu)