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: