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 (кортеж целых чисел, не включая ось образца), например, 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" (регистр не имеет значения). "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.4/api_docs/python/tf/keras/layers/Conv2DTranspose