Spec-Zone.ru › PyTorch 2

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/2.1/generated/torch.svd_lowrank.html

Spec-Zone.ru

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