Spec-Zone.ru › TensorFlow 1.15

tf.tensordot

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

Суммирование произведения элементов a и b вдоль указанных осей и вычисление внешнего произведения.

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

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

tf.linalg.tensordot

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

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

tf.compat.v1.linalg.tensordot, tf.compat.v1.tensordot, `tf.compat.v2.linalg.tensordot`, `tf.compat.v2.tensordot`

tf.tensordot(
    a, b, axes, name=None
)

Tensordot (также известен как тензорное сокращение) суммирует произведение элементов из a и b по индексам, указанным в a_axes и b_axes. Списки a_axes и b_axes задают пары осей, по которым сокращаются тензоры. Ось a_axes[i] тензора a должна иметь такую же размерность, как ось b_axes[i] тензора b для всех i в range(0, len(a_axes)). Списки a_axes и b_axes должны иметь одинаковую длину и содержать уникальные целые числа, определяющие допустимые оси для каждого из тензоров. Дополнительно поддерживается вычисление внешнего произведения при передаче axes=0.

Эта операция соответствует numpy.tensordot(a, b, axes).

Пример 1: Когда a и b являются матрицами (порядка 2), случай axes = 1 эквивалентен умножению матриц.

Пример 2: Когда a и b являются матрицами (порядка 2), случай axes = [[1], [0]] эквивалентен умножению матриц.

Пример 3: Когда a и b являются матрицами (порядка 2), случай axes=0 даёт внешнее произведение, тензор порядка 4.

Пример 4: Предположим, что \(a_{ijk}\) и \(b_{lmn}\) представляют два тензора порядка 3. Тогда, contract(a, b, [[0], [2]]) является тензором порядка 4 \(c_{jklm}\), запись которого, соответствующая индексам \((j,k,l,m)\), задаётся следующим образом:

\( c_{jklm} = \sum_i a_{ijk} b_{lmi} \).

В общем случае, order(c) = order(a) + order(b) - 2*len(axes[0]).

Аргументы
a Tensor типа float32 или float64.
b Tensor того же типа, что и a.
axes Либо скаляр N, либо список или int32 Tensor формы [2, k]. Если axes — скаляр, суммирование происходит по последним N осям a и первым N осям b в порядке. Если axes — список или Tensor, первая и вторая строки содержат набор уникальных целых чисел, определяющих оси, по которым вычисляется сокращение, для a и b, соответственно. Число осей для a и b должно быть одинаковым. Если axes=0, вычисляется внешнее произведение между a и b.
name Имя операции (необязательно).
Возвращаемое значение
Тензор Tensor того же типа, что и a.
Исключения
ValueError Если формы a, b, и axes несовместимы.
IndexError Если значения в axes превышают ранг соответствующего тензора.

© 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/r1.15/api_docs/python/tf/tensordot

Spec-Zone.ru

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