tf.keras.layers.Conv3DTranspose
| Просмотреть исходный код на GitHub |
Слой транспонированной свёртки (иногда называется деконволюцией).
Наследуется от: Conv3D
tf.keras.layers.Conv3DTranspose(
filters, kernel_size, strides=(1, 1, 1), padding='valid', output_padding=None,
data_format=None, dilation_rate=(1, 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, 128, 3) для объёма 128x128x128 с 3 каналами, если data_format="channels_last".
| Аргументы | |
|---|---|
filters | Целое число, размерность выходного пространства (то есть количество выходных фильтров в свёртке). |
kernel_size | Целое число или кортеж/список из 3 целых чисел, определяющих глубину, высоту и ширину окна 3D-свёртки. Может быть одним целым числом для указания одного и того же значения для всех пространственных измерений. |
strides | Целое число или кортеж/список из 3 целых чисел, определяющих шаги свёртки по глубине, высоте и ширине. Может быть одним целым числом для указания одного и того же значения для всех пространственных измерений. Указание любого значения шага != 1 несовместимо с указанием любого значения dilation_rate != 1. |
padding | одно из "valid" или "same" (регистр не учитывается). |
output_padding | Целое число или кортеж/список из 3 целых чисел, определяющих количество заполнения по глубине, высоте и ширине. Может быть одним целым числом для указания одного и того же значения для всех пространственных измерений. Количество выходного заполнения по данному измерению должно быть меньше шага по этому же измерению. Если установлено значение None (по умолчанию), форма выхода определяется неявно. |
data_format | Строка, одна из channels_last (по умолчанию) или channels_first. Порядок измерений во входных данных. channels_last соответствует входным данным с формой (batch_size, depth, height, width, channels), а channels_first соответствует входным данным с формой (batch_size, channels, depth, height, width). По умолчанию используется значение image_data_format в файле конфигурации Keras по адресу ~/.keras/keras.json. Если оно никогда не устанавливалось, то будет "channels_last". |
dilation_rate | целое число или кортеж/список из 3 целых чисел, определяющих коэффициент расширения для использования в свёртке с расширением. Может быть одним целым числом для указания одного и того же значения для всех пространственных измерений. В настоящее время указание любого значения dilation_rate != 1 несовместимо с указанием любого значения шага != 1. |
activation | Функция активации для использования. Если вы ничего не укажете, активация не применяется (см. keras.activations). |
use_bias | Булево значение, указывает, использует ли слой вектор смещения. |
kernel_initializer | Инициализатор матрицы весов kernel. |
bias_initializer | Инициализатор вектора смещения. |
kernel_regularizer | Функция регуляризации, применяемая к матрице весов kernel (см. keras.regularizers). |
bias_regularizer | Функция регуляризации, применяемая к вектору смещения (см. keras.regularizers). |
activity_regularizer | Функция регуляризации, применяемая к выходу слоя (его «активации») (см. keras.regularizers). |
kernel_constraint | Функция ограничения, применяемая к матрице ядер (см. keras.constraints). |
bias_constraint | Функция ограничения, применяемая к вектору смещения (см. keras.constraints). |
Форма входа:
5D тензор с формой: (batch_size, channels, depth, rows, cols) если data_format='channels_first' или 5D тензор с формой: (batch_size, depth, rows, cols, channels) если data_format='channels_last'.
Форма выхода:
5D тензор с формой: (batch_size, filters, new_depth, new_rows, new_cols) если data_format='channels_first' или 5D тензор с формой: (batch_size, new_depth, new_rows, new_cols, filters) если data_format='channels_last'. Значения depth и rows и cols могут измениться из-за заполнения. Если output_padding указано:
new_depth = ((depth - 1) * strides[0] + kernel_size[0] - 2 * padding[0] + output_padding[0]) new_rows = ((rows - 1) * strides[1] + kernel_size[1] - 2 * padding[1] + output_padding[1]) new_cols = ((cols - 1) * strides[2] + kernel_size[2] - 2 * padding[2] + output_padding[2])
| Возвращает | |
|---|---|
5D тензор, представляющий activation(conv3dtranspose(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/Conv3DTranspose