Spec-Zone.ru › TensorFlow 2.3

tf.keras.layers.experimental.EinsumDense

Слой, использующий tf.einsum в качестве вычислительной основы.

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

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

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.keras.layers.experimental.EinsumDense

tf.keras.layers.experimental.EinsumDense(
    equation, output_shape, activation=None, bias_axes=None,
    kernel_initializer='glorot_uniform', bias_initializer='zeros',
    kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None,
    kernel_constraint=None, bias_constraint=None, **kwargs
)

Этот слой может выполнять вычисления einsum произвольной размерности.

Аргументы
equation Уравнение, описывающее выполняемое einsum. Это уравнение должно быть допустимой строкой einsum вида ab,bc->ac, ...ab,bc->...ac, или ab...,bc->ac..., где 'ab', 'bc' и 'ac' могут быть любыми допустимыми последовательностями выражений осей einsum.
output_shape Ожидаемая форма тензора вывода (исключая размерность пакета и любые размеры, представленные эллипсами). Можно указать None для любой размерности, которая неизвестна или может быть выведена из формы входного тензора.
activation Функция активации для использования. Если вы ничего не укажете, активация не применяется (то есть, используется "линейная" активация: a(x) = x).
bias_axes Строка, содержащая размерность(и) вывода, к которой применяется смещение. Каждый символ в строке bias_axes должен соответствовать символу в выходной части строки equation.
kernel_initializer Инициализатор матрицы весов kernel.
bias_initializer Инициализатор вектора смещения.
kernel_regularizer Функция регуляризации, применяемая к матрице весов kernel.
bias_regularizer Функция регуляризации, применяемая к вектору смещения.
activity_regularizer Функция регуляризации, применяемая к выводу слоя (его "активации").
kernel_constraint Функция ограничения, применяемая к матрице весов kernel.
bias_constraint Функция ограничения, применяемая к вектору смещения.

Примеры:

Слой плотного слоя со смещением с использованием einsum

Этот пример показывает, как создать стандартный слой Keras плотного слоя, используя операции einsum. Этот пример эквивалентен tf.keras.layers.Dense(64, use_bias=True).

layer = EinsumDense("ab,bc->ac", output_shape=64, bias_axes="c")
input_tensor = tf.keras.Input(shape=[32])
output_tensor = layer(input_tensor)
output_tensor
<tf.Tensor '...' shape=(None, 64) dtype=...>

Применение слоя плотного слоя к последовательности

Этот пример показывает, как создать слой, применяющий ту же операцию плотного слоя к каждому элементу в последовательности. Здесь 'output_shape' имеет два значения (так как в выводе две размерности, не являющиеся пакетными); первая размерность в output_shape равна None, потому что размерность последовательности b имеет неизвестную форму.

layer = EinsumDense("abc,cd->abd",
                    output_shape=(None, 64),
                    bias_axes="d")
input_tensor = tf.keras.Input(shape=[32, 128])
output_tensor = layer(input_tensor)
output_tensor
<tf.Tensor '...' shape=(None, 32, 64) dtype=...>

Применение слоя плотного слоя к последовательности с использованием эллипсов

Этот пример показывает, как создать слой, применяющий ту же операцию плотного слоя к каждому элементу в последовательности, но использующий обозначение эллипсов вместо указания пакета и размерностей последовательности.

Поскольку мы используем обозначение эллипсов и указали только одну ось, аргумент output_shape имеет одно значение. При создании таким образом, слой может обрабатывать любое количество размерностей последовательности — включая случай, когда размерность последовательности отсутствует.

layer = EinsumDense("...x,xy->...y", output_shape=64, bias_axes="y")
input_tensor = tf.keras.Input(shape=[32, 128])
output_tensor = layer(input_tensor)
output_tensor
<tf.Tensor '...' shape=(None, 32, 64) dtype=...>

© 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/experimental/EinsumDense

Spec-Zone.ru

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