Obtener la forma de salida de la capa de deconvolución usando tf.nn.conv2d_transpose en tensorflow

De acuerdo a estopapel, la forma de salida esN + H - 1, N es la altura o ancho de entrada,H es la altura o el ancho del grano. Este es un proceso inverso obvio de convolución. Estatutorial da una fórmula para calcular la forma de salida de convolución que es(W−F+2P)/S+1, W - tamaño de entrada,F - tamaño del filtro,P - tamaño de relleno,S - zancada Pero enTensorflow, hay casos de prueba como:

  strides = [1, 2, 2, 1]

  # Input, output: [batch, height, width, depth]
  x_shape = [2, 6, 4, 3]
  y_shape = [2, 12, 8, 2]

  # Filter: [kernel_height, kernel_width, output_depth, input_depth]
  f_shape = [3, 3, 2, 3]

Entonces usamosy_shape, f_shape yx_shape, de acuerdo con la fórmula(W−F+2P)/S+1 para calcular el tamaño del rellenoP. De(12 - 3 + 2P) / 2 + 1 = 6, obtenemosP = 0.5, que no es un entero. ¿Cómo funciona la deconvolución en Tensorflow?

Respuestas a la pregunta(3)

Su respuesta a la pregunta