tf.keras.layers.Conv2DTranspose
| Просмотреть исходный код на GitHub |
Слой транспонированной свёртки (иногда называемый деконволюцией).
Наследуется от: Conv2D
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
)
Необходимость в транспонированных свёртках обычно возникает из-за желания использовать преобразование, направленное в противоположном направлении обычной свёртки, т.е. из чего-то, имеющего форму выхода некоторой свёртки, в нечто, имеющее форму её входа, сохраняя при этом структуру связей, совместимую с данной свёрткой.
При использовании этого слоя в качестве первого слоя в модели, укажите ключевое слово input_shape (кортеж целых чисел, не включая ось образца), например, input_shape=(128, 128, 3) для изображений 128x128 RGB в data_format="channels_last".
| Аргументы | |
|---|---|
filters | Целое число, размерность выходного пространства (т.е. количество выходных фильтров в свёртке). |
kernel_size | Целое число или кортеж/список из 2 целых чисел, определяющих высоту и ширину окна 2D-свёртки. Может быть одним целым числом, чтобы указать одинаковое значение для всех пространственных измерений. |
strides | Целое число или кортеж/список из 2 целых чисел, определяющих шаги свёртки вдоль высоты и ширины. Может быть одним целым числом, чтобы указать одинаковое значение для всех пространственных измерений. Указание любого значения шага != 1 несовместимо с указанием любого значения dilation_rate != 1. |
padding | одно из "valid" или "same" (регистр не учитывается). |
output_padding | Целое число или кортеж/список из 2 целых чисел, определяющие количество заполнения по высоте и ширине тензора вывода. Может быть одним целым числом, чтобы указать одинаковое значение для всех пространственных измерений. Количество выходного заполнения по заданному измерению должно быть меньше шага по этому же измерению. Если установлено в None (по умолчанию), форма вывода определяется автоматически. |
data_format | Строка, одна из channels_last (по умолчанию) или channels_first. Порядок измерений в входных данных. channels_last соответствует входным данным с формой (batch_size, height, width, channels), а channels_first соответствует входным данным с формой (batch_size, channels, height, width). По умолчанию используется значение image_data_format в файле конфигурации Keras по адресу ~/.keras/keras.json. Если вы никогда не устанавливали его, то он будет "channels_last". |
dilation_rate | целое число или кортеж/список из 2 целых чисел, определяющих скорость расширения для свёртки с расширением. Может быть одним целым числом, чтобы указать одинаковое значение для всех пространственных измерений. В настоящее время указание любого значения dilation_rate != 1 несовместимо с указанием любого значения шага != 1. |
activation | Функция активации для использования. Если вы ничего не указываете, никакая активация не применяется (см. keras.activations). |
use_bias | Булево значение, использует ли слой вектор смещения. |
kernel_initializer | Инициализатор матрицы весов kernel (см. keras.initializers). |
bias_initializer | Инициализатор вектора смещения (см. keras.initializers). |
kernel_regularizer | Функция регуляризации, применяемая к матрице весов kernel (см. keras.regularizers). |
bias_regularizer | Функция регуляризации, применяемая к вектору смещения (см. keras.regularizers). |
activity_regularizer | Функция регуляризации, применяемая к выводу слоя ("активации") (см. keras.regularizers). |
kernel_constraint | Функция ограничения, применяемая к матрице ядра (см. keras.constraints). |
bias_constraint | Функция ограничения, применяемая к вектору смещения (см. keras.constraints). |
Форма входных данных:
4D тензор с формой: (batch_size, channels, rows, cols) если data_format='channels_first' или 4D тензор с формой: (batch_size, rows, cols, channels) если data_format='channels_last'.
Форма выходных данных:
4D тензор с формой: (batch_size, filters, new_rows, new_cols) если data_format='channels_first' или 4D тензор с формой: (batch_size, new_rows, new_cols, filters) если data_format='channels_last'. Значения rows и cols могут быть изменены из-за заполнения. Если output_padding указано:
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])
| Возвращаемое значение | |
|---|---|
4D тензор, представляющий activation(conv2dtranspose(inputs, kernel) + bias). |
| Исключения | |
|---|---|
ValueError | если padding равно "causal". |
ValueError | при одновременном strides > 1 и dilation_rate > 1. |
Ссылки:
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/layers/Conv2DTranspose