Spec-Zone.ru › TensorFlow 2.9

tf.keras.layers.experimental.EinsumDense

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

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

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

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

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

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 Функция ограничения, применяемая к вектору смещения.

Примеры:

Смещенный плотный слой с einsums

Этот пример демонстрирует, как создать стандартный плотный слой 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
<... 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
<... 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
<... shape=(None, 32, 64) dtype=...>

© 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/versions/r2.9/api_docs/python/tf/keras/layers/experimental/EinsumDense

Spec-Zone.ru

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