
Tensorly는 텐서 학습을 간단하고 접근 가능하게 만드는 것을 목표로하는 파이썬 라이브러리입니다. 텐서 분해, 텐서 학습 및 텐서 대수를 쉽게 수행 할 수 있습니다. 백엔드 시스템을 사용하면 Numpy, Pytorch, Jax, Tensorflow, Cupy 또는 Paddle과의 계산을 원활하게 수행 할 수 있으며 CPU 또는 GPU에서 규모로 실행 방법을 실행할 수 있습니다.
유일한 사전 반품은 Python 3을 설치하는 것입니다. 가장 쉬운 방법은 아나콘다 분포를 통한 것입니다.
| PIP와 함께 (권장) | 콘다와 함께 |
PIP 설치 -U 인장
| 콘다 설치 -C 인장적인 긴장된
|
| 개발 (Git) | |
# 저장소를 복제하십시오
git 클론 https://github.com/tensorly/tensorly
CD는 긴장되어 있습니다
#`-e` 또는 동등하게`-deable`을 사용하여 편집 가능한 모드로 설치하십시오.
PIP 설치 -E.
| |
참고 : 기본적으로 Numpy에 의존합니다. 다른 백엔드를 사용하려면이 패키지를 별도로 설치해야합니다.
자세한 지침은 문서를 참조하십시오.
Numpy Array에서 크기 3 x 4 x 2의 작은 3 차 텐서를 만들고 간단한 작업을 수행하십시오.
import tensorly as tl
import numpy as np
tensor = tl . tensor ( np . arange ( 24 ). reshape (( 3 , 4 , 2 )), dtype = tl . float64 )
unfolded = tl . unfold ( tensor , mode = 0 )
tl . fold ( unfolded , mode = 0 , shape = tensor . shape )임의의 텐서를 만들 수도 있습니다.
from tensorly import random
# A random tensor
tensor = random . random_tensor (( 3 , 4 , 2 ))
# A random CP tensor in factorized form
cp_tensor = random . random_tensor ( shape = ( 3 , 4 , 2 ), rank = 'same' )TT- 형식, 터커 등으로 텐서를 만들 수 있으며 임의의 텐서를 참조하십시오.
다른 프레임 워크로 계산을 수행하기 위해 백엔드를 변경할 수 있습니다. 기본적으로 백엔드는 Numpy이지만 Pytorch, Tensorflow, Jax, Cupy 또는 Paddle을 사용하여 계산을 수행 할 수도 있습니다 (먼저 설치해야 함). 예를 들어, 백엔드를 Pytorch로 설정 한 후 모든 계산은 Pytorch에 의해 수행되며 GPU에서 텐서를 만들 수 있습니다.
tl . set_backend ( 'pytorch' ) # Or 'numpy', 'tensorflow', 'cupy' or 'jax'
tensor = tl . tensor ( np . arange ( 24 ). reshape (( 3 , 4 , 2 )), device = 'cuda:0' )
type ( tensor ) # torch.Tensor 텐서 분해 적용은 쉽습니다.
from tensorly . decomposition import tucker
# Apply Tucker decomposition
tucker_tensor = tucker ( tensor , rank = [ 2 , 2 , 2 ])
# Reconstruct the full tensor from the decomposed form
tl . tucker_to_tensor ( tucker_tensor )우리는 더 많은 분해를 사용할 수 있습니다. 확인하십시오!
이것은 인기의 기본 기능 중 일부에 대한 매우 빠른 소개 일뿐입니다. 시작에 대한 자세한 내용은 사용자 가이드를 체크 아웃하고 기능 및 해당 문서에 대한 자세한 내용을 참조하려면 API를 참조하십시오.
버그가 보이면 문제를여십시오.
모든 기부금을 환영합니다! 따라서 추가하려는 멋진 텐서 메소드가있는 경우, 문서에서 버그 나 오타 또는 실수를 발견하면 Github에서 풀 수십을 열어보십시오.
변경 사항을 제출하기 전에 코드가 스타일 가이드에 준수해야합니다. 이 작업을 수행하는 가장 쉬운 방법은 검은 색입니다.
pip install black
black .테스트 및 문서는이 패키지의 필수 부분이며 모든 기능에는 단일 테스트 및 문서가 제공됩니다.
테스트는 Pytest 패키지를 사용하여 실행되었습니다. 먼저 pytest 설치 :
Pip Pytest를 설치하십시오
그런 다음 테스트를 실행하려면 단순히 단기에서 실행하십시오.
pytest -v 텐서리
또는 테스트를 실행하려는 백엔드를 지정할 수 있습니다.
tensorly_backend = 'numpy'pytest -v tensorly
학술 논문에서 긴장된 사용을 사용하는 경우 [1]를 인용하십시오.
@article {텐서리,
저자 = {Jean Kossaifi와 Yannis Panagakis와 Anima Anandkumar 및 Maja Pantic},
Title = {Tensorly : Python에서의 텐서 학습},
저널 = {기계 학습 연구 저널},
연도 = {2019},
볼륨 = {20},
번호 = {26},
페이지 = {1-6},
url = {http://jmlr.org/papers/v20/18-277.html}
}
| [1] | Jean Kossaifi, Yannis Panagakis, Anima Anandkumar 및 Maja Pantic, Tensorly : Python의 Tensor Learning , Journal of Machine Learning Research (JMLR) , 2019, 20 권, 26 번. |