Spec-Zone.ru › PyTorch 2

torch.linalg.tensorsolve

torch.linalg.tensorsolve(A, B, dims=None, *, out=None) → Tensor

Вычисляет решение X для системы torch.tensordot(A, X) = B.

Если m является произведением первых B.ndim измерений A и n является произведением остальных измерений, эта функция ожидает, что m и n будут равны.

Возвращаемый тензор x удовлетворяет tensordot(A, x, dims=x.ndim) == B. x имеет форму A[B.ndim:].

Если указан dims, A будет преобразовано в

A = movedim(A, dims, range(len(dims) - A.ndim + 1, 0))

Поддерживает входные данные типов float, double, cfloat и cdouble.

См. также

torch.linalg.tensorinv() вычисляет обратную величину по умножению torch.tensordot().

Параметры
  • A (Tensor) – тензор для решения. Его форма должна удовлетворять prod(A.shape[:B.ndim]) == prod(A.shape[B.ndim:]).
  • B (Tensor) – тензор формы A.shape[:B.ndim].
  • dims (Tuple[int], optional) – измерения A для перемещения. Если None, измерения не перемещаются. По умолчанию: None.
Ключевые аргументы

out (Tensor, optional) – выходной тензор. Игнорируется, если None. По умолчанию: None.

Исключения

RuntimeError – если преобразованный A.view(m, m) с m как выше не является обратимым или произведение первых ind измерений не равно произведению остальных измерений.

Примеры:

>>> A = torch.eye(2 * 3 * 4).reshape((2 * 3, 4, 2, 3, 4))
>>> B = torch.randn(2 * 3, 4)
>>> X = torch.linalg.tensorsolve(A, B)
>>> X.shape
torch.Size([2, 3, 4])
>>> torch.allclose(torch.tensordot(A, X, dims=X.ndim), B)
True

>>> A = torch.randn(6, 4, 4, 3, 2)
>>> B = torch.randn(4, 3, 2)
>>> X = torch.linalg.tensorsolve(A, B, dims=(0, 2))
>>> X.shape
torch.Size([6, 4])
>>> A = A.permute(1, 3, 4, 0, 2)
>>> A.shape[B.ndim:]
torch.Size([6, 4])
>>> torch.allclose(torch.tensordot(A, X, dims=X.ndim), B, atol=1e-6)
True

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.linalg.tensorsolve.html

Spec-Zone.ru

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