Spec-Zone.ru › TensorFlow 2.4

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

Примеры:

Слой плотной связи со смещением с использованием 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
<... 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=...>

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

Spec-Zone.ru

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