Spec-Zone.ru › PyTorch 1

torch.svd_lowrank

torch.svd_lowrank(A, q=6, niter=2, M=None) [source]

Возвращает сингулярное разложение (U, S, V) матрицы, набора матриц или разреженной матрицы AA, такое что A≈Udiag(S)VTA \approx U diag(S) V^T. В случае, если задана MM, то SVD вычисляется для матрицы A−MA - M.

Примечание

Реализация основана на Алгоритме 5.1 из Halko et al, 2009.

Примечание

Для получения повторяемых результатов необходимо сбросить начальное значение генератора псевдослучайных чисел.

Примечание

Входной массив предполагается низкоранговым.

Примечание

В общем случае, для плотных матриц следует использовать реализацию SVD с полным рангом torch.linalg.svd() из-за её в 10 раз большей производительности. Низкоранговое SVD будет полезно для очень больших разреженных матриц, с которыми torch.linalg.svd() не может справиться.

Args::

A (Tensor): входной тензор размера (∗,m,n)(*, m, n)

q (int, optional): несколько завышенная оценка ранга A.

niter (int, optional): количество итераций подпространства,

чтобы провести; niter должен быть неотрицательным целым числом и по умолчанию равен 2

M (Tensor, optional): среднее значение входного тензора размера

(∗,1,n)(*, 1, n).

References::
  • Nathan Halko, Per-Gunnar Martinsson, and Joel Tropp, Finding structure with randomness: probabilistic algorithms for constructing approximate matrix decompositions, arXiv:0909.4061 [math.NA; math.PR], 2009 (доступно на arXiv).
Return type:

Tuple[Tensor, Tensor, Tensor]

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

Spec-Zone.ru

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