Spec-Zone.ru › TensorFlow 2.9

tf.keras.layers.Conv2DTranspose

Просмотреть исходный код на GitHub

Слой транспонированной свёртки (иногда называемый обратной свёрткой).

Наследуется от: Conv2D, Layer, Module

Просмотреть псевдонимы

Основные псевдонимы

tf.keras.layers.Convolution2DTranspose

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

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
)

Необходимость в транспонированных свёртках обычно возникает из-за желания использовать преобразование, направленное в противоположном направлении нормальной свёртки, т. е. из чего-то, имеющего форму выходных данных какой-то свёртки, в нечто, имеющее форму её входных данных, сохраняя при этом шаблон связности, совместимый с этой свёрткой.

При использовании этого слоя в качестве первого слоя в модели укажите ключевой аргумент 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API