Spec-Zone.ru › TensorFlow

tf.keras.layers.Conv3DTranspose

Слой транспонированной 3D-свёртки.

Наследует классы: Layer, Operation

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

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

tf.keras.layers.Convolution3DTranspose

tf.keras.layers.Conv3DTranspose(
    filters,
    kernel_size,
    strides=(1, 1, 1),
    padding='valid',
    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
)

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

Аргументы
filters Целое число — размерность выходного пространства (число фильтров в транспонированной свёртке).
kernel_size Целое число или кортеж/список из 1 целого числа, задающий размер окна транспонированной свёртки.
strides Целое число или кортеж/список из 1 целого числа, задающий длину шага транспонированной свёртки. strides > 1 несовместим с dilation_rate > 1.
padding Строка: "valid" или "same" (без учёта регистра). "valid" означает отсутствие дополнения. При "same" дополнение равномерно распределяется слева и справа либо сверху и снизу входных данных. Если заданы padding="same" и strides=1, размер выхода совпадает с размером входа.
data_format Строка: "channels_last" или "channels_first". Порядок размерностей во входных данных. "channels_last" соответствует входным данным формы (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels), а "channels_first" — входным данным формы (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3). По умолчанию используется значение image_data_format из файла конфигурации Keras по адресу ~/.keras/keras.json. Если это значение не задано, используется "channels_last".
dilation_rate Целое число или кортеж/список из 1 целого числа, задающий коэффициент дилатации для дилатированной транспонированной свёртки.
activation Функция активации. Если задано None, активация не применяется.
use_bias Логическое значение: если задано True, к выходным данным добавляется смещение.
kernel_initializer Инициализатор ядра свёртки. Если задано None, используется инициализатор по умолчанию ("glorot_uniform").
bias_initializer Инициализатор вектора смещения. Если задано None, используется инициализатор по умолчанию ("zeros").
kernel_regularizer Необязательный регуляризатор ядра свёртки.
bias_regularizer Необязательный регуляризатор вектора смещения.
activity_regularizer Необязательная функция регуляризации выходных данных.
kernel_constraint Необязательная функция проекции, применяемая к ядру после его обновления с помощью Optimizer (например, для реализации ограничений нормы или значений весов слоя). Функция должна принимать на вход непроецированную переменную и возвращать спроецированную переменную (которая должна иметь ту же форму). Ограничения небезопасно использовать при асинхронном распределённом обучении.
bias_constraint Необязательная функция проекции, применяемая к смещению после его обновления с помощью Optimizer.

Форма входных данных:

  • Если задано data_format="channels_last": 5D-тензор формы (batch_size, spatial_dim1, spatial_dim2, spatial_dim3, channels)
  • Если задано data_format="channels_first": 5D-тензор формы (batch_size, channels, spatial_dim1, spatial_dim2, spatial_dim3)

Форма выходных данных:

  • Если задано data_format="channels_last": 5D-тензор формы (batch_size, new_spatial_dim1, new_spatial_dim2, new_spatial_dim3, filters)
  • Если задано data_format="channels_first": 5D-тензор формы (batch_size, filters, new_spatial_dim1, new_spatial_dim2, new_spatial_dim3)
Возвращает
5D-тензор, представляющий activation(conv3d(inputs, kernel) + bias).
Вызывает исключение
ValueError если заданы одновременно strides > 1 и dilation_rate > 1.

Ссылки:

  • Руководство по арифметике свёрток для глубокого обучения
  • Деконволюционные сети

Пример:

x = np.random.rand(4, 10, 8, 12, 128)
y = keras.layers.Conv3DTranspose(32, 2, 2, activation='relu')(x)
print(y.shape)
(4, 20, 16, 24, 32)
Атрибуты
input Возвращает входной тензор (или тензоры) символьной операции.

Возвращает только тензор (или тензоры), соответствующий первому вызову операции.

output Возвращает выходной тензор (или тензоры) слоя.

Возвращает только тензор (или тензоры), соответствующий первому вызову операции.

Методы

from_config

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

@classmethod
from_config(
    config
)

Создаёт слой на основе его конфигурации.

Этот метод является обратным по отношению к get_config и позволяет создать такой же слой из словаря конфигурации. Он не обрабатывает связи между слоями (это делает Network) и веса (это делает set_weights).

Аргументы
config Словарь Python, обычно полученный в результате вызова get_config.
Возвращает
Экземпляр слоя.

symbolic_call

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

symbolic_call(
    *args, **kwargs
)

© 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/api_docs/python/tf/keras/layers/Conv3DTranspose

Spec-Zone.ru

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