Ver fuente en GitHub

Capa de convolución transpuesta (a veces llamada Deconvolución).

Hereda de: Conv2D, Layer, Module

Ver alias

Alias ​​principales

tf.keras.layers.Convolution2DTranspose

Compat alias para la migración

Ver Guía de migración para más detalles.

tf.compat.v1.keras.layers.Conv2DTranspose, tf.compat.v1.keras.layers.Convolution2DTranspose

tf.keras.layers.Conv2DTranspose(
    filters, kernel_size, strides=(1, 1), padding='valid',
    output_padding=None, data_format=None, dilation_rate=(1, 1), activation=None,
    use_bias=True, kernel_initializer='glorot_uniform',
    bias_initializer='zeros', kernel_regularizer=None,
    bias_regularizer=None, activity_regularizer=None, kernel_constraint=None,
    bias_constraint=None, **kwargs
)

La necesidad de convoluciones transpuestas generalmente surge del deseo de usar una transformación que vaya en la dirección opuesta de una convolución normal, es decir, de algo que tiene la forma de la salida de alguna convolución a algo que tiene la forma de su entrada mientras se mantiene una patrón de conectividad que sea compatible con dicha convolución.

Cuando use esta capa como la primera capa en un modelo, proporcione el argumento de palabra clave input_shape (tupla de enteros, no incluye el eje de la muestra), p. ej. input_shape=(128, 128, 3) para imágenes RGB de 128×128 en data_format="channels_last".

Argumentos
filters Entero, la dimensionalidad del espacio de salida (es decir, el número de filtros de salida en la convolución).
kernel_size Un número entero o tupla / lista de 2 números enteros, que especifica la altura y el ancho de la ventana de convolución 2D. Puede ser un solo entero para especificar el mismo valor para todas las dimensiones espaciales.
strides Un número entero o tupla / lista de 2 números enteros, que especifica los pasos de la convolución a lo largo de la altura y el ancho. Puede ser un solo entero para especificar el mismo valor para todas las dimensiones espaciales. ¡Especificar cualquier valor de zancada! = 1 es incompatible con especificar cualquier dilation_rate valor! = 1.
padding uno de "valid" o "same" (no distingue entre mayúsculas y minúsculas). "valid" significa que no hay relleno. "same" da como resultado un relleno uniforme hacia la izquierda / derecha o hacia arriba / abajo de la entrada, de modo que la salida tiene la misma dimensión de altura / ancho que la entrada.
output_padding Un número entero o tupla / lista de 2 números enteros, que especifica la cantidad de relleno a lo largo de la altura y el ancho del tensor de salida. Puede ser un solo entero para especificar el mismo valor para todas las dimensiones espaciales. La cantidad de relleno de salida a lo largo de una dimensión determinada debe ser menor que el paso a lo largo de esa misma dimensión. Si se establece en None (predeterminado), se infiere la forma de salida.
data_format Una cuerda, una de channels_last (predeterminado) o channels_first. El orden de las dimensiones en las entradas. channels_last corresponde a entradas con forma (batch_size, height, width, channels) tiempo channels_first corresponde a entradas con forma (batch_size, channels, height, width). Por defecto es image_data_format valor encontrado en su archivo de configuración de Keras en ~/.keras/keras.json. Si nunca lo configura, será “channels_last”.
dilation_rate un número entero o tupla / lista de 2 números enteros, que especifica la tasa de dilatación que se utilizará para la convolución dilatada. Puede ser un solo entero para especificar el mismo valor para todas las dimensiones espaciales. Actualmente, especificando cualquier dilation_rate value! = 1 es incompatible con la especificación de cualquier valor de zancada! = 1.
activation Función de activación a utilizar. Si no especifica nada, no se aplica ninguna activación (consulte keras.activations).
use_bias Booleano, si la capa utiliza un vector de sesgo.
kernel_initializer Inicializador para el kernel matriz de pesos (ver keras.initializers).
bias_initializer Inicializador para el vector de sesgo (ver keras.initializers).
kernel_regularizer Función de regularizador aplicada a la kernel matriz de pesos (ver keras.regularizers).
bias_regularizer Función de regularizador aplicada al vector de sesgo (ver keras.regularizers).
activity_regularizer Función de regularizador aplicada a la salida de la capa (su “activación”) (ver keras.regularizers).
kernel_constraint Función de restricción aplicada a la matriz del núcleo (ver keras.constraints).
bias_constraint Función de restricción aplicada al vector de sesgo (ver keras.constraints).

Forma de entrada:

Tensor 4D con forma: (batch_size, channels, rows, cols) si data_format = “channels_first” o tensor 4D con forma: (batch_size, rows, cols, channels) si data_format = “channels_last”.

Forma de salida:

Tensor 4D con forma: (batch_size, filters, new_rows, new_cols) si data_format = “channels_first” o tensor 4D con forma: (batch_size, new_rows, new_cols, filters) si data_format = “channels_last”. rows y cols los valores pueden haber cambiado debido al relleno. Si output_padding está especificado:

new_rows = ((rows - 1) * strides[0] + kernel_size[0] - 2 * padding[0] +
output_padding[0])
new_cols = ((cols - 1) * strides[1] + kernel_size[1] - 2 * padding[1] +
output_padding[1])
Devoluciones
Un tensor de rango 4 que representa activation(conv2dtranspose(inputs, kernel) + bias).
Eleva
ValueError si padding es “causal”.
ValueError cuando ambos strides > 1 y dilation_rate > 1.

Referencias: