Spec-Zone.ru › TensorFlow

tf.keras.layers.DepthwiseConv1D

Слой одномерной глубинной свёртки.

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

tf.keras.layers.DepthwiseConv1D(
    kernel_size,
    strides=1,
    padding='valid',
    depth_multiplier=1,
    data_format=None,
    dilation_rate=1,
    activation=None,
    use_bias=True,
    depthwise_initializer='glorot_uniform',
    bias_initializer='zeros',
    depthwise_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    depthwise_constraint=None,
    bias_constraint=None,
    **kwargs
)

Глубинная свёртка — это тип свёртки, при котором для каждого входного канала применяется отдельное ядро (называемое глубинным ядром). Глубинную свёртку можно рассматривать как первый шаг глубинной разделяемой свёртки.

Она реализуется в несколько шагов:

  • Разделение входных данных на отдельные каналы.
  • Свёртка каждого канала с отдельным глубинным ядром с depth_multiplier выходными каналами.
  • Объединение результатов свёртки по оси каналов.

В отличие от обычной одномерной свёртки, глубинная свёртка не объединяет информацию из разных входных каналов.

Аргумент depth_multiplier определяет количество фильтров, применяемых к одному входному каналу. Таким образом, он задаёт количество выходных каналов, создаваемых для каждого входного канала на этапе глубинной свёртки.

Аргументы
kernel_size Целое число или кортеж/список из одного целого числа, задающий размер окна глубинной свёртки.
strides Целое число или кортеж/список из одного целого числа, задающий длину шага свёртки. strides > 1 несовместим с dilation_rate > 1.
padding Строка: "valid" или "same" (без учёта регистра). "valid" означает отсутствие дополнения. "same" равномерно распределяет дополнение слева/справа или сверху/снизу входных данных. При значениях padding="same" и strides=1 размер выходных данных совпадает с размером входных.
depth_multiplier Количество выходных каналов глубинной свёртки для каждого входного канала. Общее количество выходных каналов глубинной свёртки будет равно input_channel * depth_multiplier.
data_format Строка: "channels_last" или "channels_first". Порядок измерений во входных данных. "channels_last" соответствует входным данным с формой (batch, steps, features), а "channels_first" — входным данным с формой (batch, features, steps). По умолчанию используется значение image_data_format из файла конфигурации Keras по адресу ~/.keras/keras.json. Если это значение не задано, используется "channels_last".
dilation_rate Целое число или кортеж/список из одного целого числа, задающий коэффициент разрежения для разреженной свёртки.
activation Функция активации. Если указано None, активация не применяется.
use_bias Логическое значение; если указано True, к выходным данным будет добавлено смещение.
depthwise_initializer Инициализатор ядра свёртки. Если указано None, будет использован инициализатор по умолчанию ("glorot_uniform").
bias_initializer Инициализатор вектора смещения. Если указано None, будет использован инициализатор по умолчанию ("zeros").
depthwise_regularizer Необязательный регуляризатор ядра свёртки.
bias_regularizer Необязательный регуляризатор вектора смещения.
activity_regularizer Необязательная функция регуляризации выходных данных.
depthwise_constraint Необязательная функция проекции, применяемая к ядру после его обновления с помощью Optimizer (например, для реализации ограничений нормы или значения весов слоя). Функция должна принимать непроецированную переменную и возвращать проецированную переменную (той же формы). Ограничения небезопасно использовать при асинхронном распределённом обучении.
bias_constraint Необязательная функция проекции, применяемая к смещению после его обновления с помощью Optimizer.

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

  • Если data_format="channels_last": тензор размерности 3 с формой: (batch_shape, steps, channels)
  • Если data_format="channels_first": тензор размерности 3 с формой: (batch_shape, channels, steps)

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

  • Если data_format="channels_last": тензор размерности 3 с формой: (batch_shape, new_steps, channels * depth_multiplier)
  • Если data_format="channels_first": тензор размерности 3 с формой: (batch_shape, channels * depth_multiplier, new_steps)
Возвращает
Тензор размерности 3, представляющий activation(depthwise_conv1d(inputs, kernel) + bias).
Вызывает исключение
ValueError если одновременно заданы strides > 1 и dilation_rate > 1.

Пример:

x = np.random.rand(4, 10, 12)
y = keras.layers.DepthwiseConv1D(3, 3, 2, activation='relu')(x)
print(y.shape)
(4, 4, 36)
Атрибуты
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/DepthwiseConv1D

Spec-Zone.ru

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