tf.keras.layers.Conv1DTranspose
Слой транспонированной свёртки (иногда называется деконволюцией).
Наследуется от: Conv1D, Layer, Module
tf.keras.layers.Conv1DTranspose(
filters, kernel_size, strides=1, padding='valid', output_padding=None,
data_format=None, dilation_rate=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, 3) для данных с 128 временными шагами и 3 каналами.
| Аргументы | |
|---|---|
filters | Целое число, размерность выходного пространства (т.е. количество выходных фильтров в свёртке). |
kernel_size | Целое число, длина окна 1D свёртки. |
strides | Целое число, определяющее шаг свёртки по временной оси. Указание значения шага != 1 несовместимо с указанием значения dilation_rate != 1. По умолчанию 1. |
padding | одно из "valid" или "same" (регистр не учитывается). "valid" означает отсутствие заполнения. "same" приводит к выравниванию заполнения слева/справа или сверху/снизу входных данных таким образом, чтобы выходные данные имели ту же высоту/ширину, что и входные. |
output_padding | Целое число, определяющее количество заполнения по временной оси выходного тензора. Количество выходного заполнения должно быть меньше шага. Если задано значение None (по умолчанию), форма выходных данных выводится автоматически. |
data_format | Строка, одно из channels_last (по умолчанию) или channels_first. Порядок размерностей во входных данных. channels_last соответствует входным данным с формой (batch_size, length, channels), в то время как channels_first соответствует входным данным с формой (batch_size, channels, length). |
dilation_rate | Целое число, определяющее коэффициент расширения, используемый для свёртки с расширением. В настоящее время указание значения dilation_rate != 1 несовместимо с указанием значения шага != 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). |
Форма входных данных:
3D тензор с формой: (batch_size, steps, channels)
Форма выходных данных:
3D тензор с формой: (batch_size, new_steps, filters) Если output_padding задано:
new_timesteps = ((timesteps - 1) * strides + kernel_size - 2 * padding + output_padding)
| Возвращаемое значение | |
|---|---|
Тензор ранга 3, представляющий activation(conv1dtranspose(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/Conv1DTranspose