Spec-Zone.ru › TensorFlow

tf.keras.layers.Conv3D

Слой свёртки 3D.

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

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

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

tf.keras.layers.Convolution3D

tf.keras.layers.Conv3D(
    filters,
    kernel_size,
    strides=(1, 1, 1),
    padding='valid',
    data_format=None,
    dilation_rate=(1, 1, 1),
    groups=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
)

Этот слой создаёт ядро свёртки, которое сворачивается с входными данными слоя по одной пространственной (или временной) оси, создавая выходной тензор. Если use_bias имеет значение True, создаётся вектор смещения и добавляется к выходным данным. Наконец, если activation не равно None, оно также применяется к выходным данным.

Аргументы
filters int, размерность пространства выходных данных (количество фильтров в свёртке).
kernel_size int или кортеж/список из 3 целых чисел, задающих размер окна свёртки.
strides int или кортеж/список из 3 целых чисел, задающих длину шага свёртки. strides > 1 несовместим с dilation_rate > 1.
padding string: "valid" или "same" (без учёта регистра). "valid" означает отсутствие дополнения. При "same" дополнение равномерно распределяется слева/справа или сверху/снизу от входных данных. Если padding="same" и strides=1, размер выходных данных совпадает с размером входных данных.
data_format string: "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 int или кортеж/список из 3 целых чисел, задающих коэффициент разрежения для разреженной свёртки.
groups Положительное целое число, задающее количество групп, на которые разбиваются входные данные вдоль оси каналов. Для каждой группы отдельно выполняется свёртка с фильтрами filters // groups. Результаты groups объединяются вдоль оси каналов. Количество входных каналов и filters должны делиться на groups без остатка.
activation Функция активации. Если None, активация не применяется.
use_bias bool; если 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, 10, 10, 128)
y = keras.layers.Conv3D(32, 3, activation='relu')(x)
print(y.shape)
(4, 8, 8, 8, 32)
Атрибуты
input Возвращает входные тензоры символьной операции.

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

kernel
output Возвращает выходные тензоры слоя.

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

Методы

convolution_op

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

convolution_op(
    inputs, kernel
)

enable_lora

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

enable_lora(
    rank, a_initializer='he_uniform', b_initializer='zeros'
)

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/Conv3D

Spec-Zone.ru

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