tf.keras.layers.Conv2DTranspose
| Просмотреть исходный код на GitHub |
Слой транспонированной свёртки (иногда называемый обратной свёрткой).
Наследуется от: Conv2D, Layer, Module
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 (кортеж целых чисел или None, не включая ось образца), например input_shape=(128, 128, 3) для изображений 128x128 RGB в data_format="channels_last".
| Args | |
|---|---|
filters | Целое число, размерность выходного пространства (т. е. количество выходных фильтров в свёртке). |
kernel_size | Целое число или кортеж/список из 2 целых чисел, определяющий высоту и ширину окна 2D свёртки. Может быть одним целым числом для задания одинакового значения для всех пространственных измерений. |
strides | Целое число или кортеж/список из 2 целых чисел, определяющий шаги свёртки по высоте и ширине. Может быть одним целым числом для задания одинакового значения для всех пространственных измерений. Указание любого значения шага != 1 несовместимо с указанием любого значения dilation_rate != 1. |
padding | одно из "valid" или "same" (регистр не учитывается). "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 | целое число, определяющее скорость расширения для всех пространственных измерений для расширенной свёртки. Указание различных скоростей расширения для разных измерений не поддерживается. В настоящее время указание любого значения dilation_rate != 1 несовместимо с указанием любого значения шага != 1. |
activation | Функция активации для использования. Если ничего не указать, активация не применяется (см. keras.activations). |
use_bias | Булево значение, указывает, использует ли слой вектор смещения. |
kernel_initializer | Инициализатор для матрицы весов kernel (см. keras.initializers). По умолчанию 'glorot_uniform'. |
bias_initializer | Инициализатор для вектора смещения (см. keras.initializers). По умолчанию 'zeros'. |
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])
| Returns | |
|---|---|
4D тензор, представляющий activation(conv2dtranspose(inputs, kernel) + bias). |
| Raises | |
|---|---|
ValueError | если padding равно "causal". |
ValueError | при условии, что оба strides > 1 и dilation_rate > 1. |
Ссылки:
Методы
convolution_op
convolution_op(
inputs, kernel
)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/layers/Conv2DTranspose