
Tensorlyは、テンソル学習をシンプルでアクセスしやすくすることを目的としたPythonライブラリです。テンソル分解、テンソル学習、テンソル代数を簡単に実行できます。そのバックエンドシステムにより、numpy、pytorch、jax、tensorflow、cupyまたはパドルまたはパドルで計算をシームレスに実行し、CPUまたはGPUで大規模なメソッドを実行できます。
唯一の前提条件は、 Python 3をインストールすることです。最も簡単な方法は、アナコンダ分布を介してです。
| ピップ付き(推奨) | コンドラと |
ピップインストール-Uテンソリー
| Conda Install -C Tensorly Tensorly
|
| 開発(gitから) | |
#リポジトリをクローンします
git clone https://github.com/tensorly/tensorly
CDテンソリー
#「-e」で編集モードにインストールするか、同等に、 `-editable`
ピップインストール-e。
| |
注: TensorlyはデフォルトでNumpyに依存します。他のバックエンドを使用する場合は、これらのパッケージを個別にインストールする必要があります。
詳細な指示については、ドキュメントを参照してください。
numpyアレイからサイズ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-Format、Tuckerなどにテンソルを作成することもできます。ランダムテンソルを参照してください。
バックエンドを変更して、異なるフレームワークで計算を実行できます。デフォルトでは、バックエンドは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でプルレクストを開きます。
変更を送信する前に、コードがスタイルガイドに付着することを確認する必要があります。これを行う最も簡単な方法は、Blackを使用することです。
pip install black
black .テストとドキュメントはこのパッケージの重要な部分であり、すべての機能にはUNIテストとドキュメントが付属しています。
テストは、Pytestパッケージを使用して実行されます。最初にpytestをインストールします:
ピップインストールpytest
次に、テストを実行するには、端末で実行するだけです。
pytest -vテンソリー
または、テストを実行するバックエンドを指定することもできます。
tensorly_backend = 'numpy' pytest -v tensorly
アカデミックペーパーでテンソリーを使用する場合は、引用してください[1]:
@article {tensorly、
著者= {Jean KossaifiとYannis PanagakisとAnima AnandkumarとMaja Pantic}、
title = {tensorly:pythonでのテンソル学習}、
Journal = {Journal of Machine Learning Research}、
年= {2019}、
volume = {20}、
番号= {26}、
ページ= {1-6}、
url = {http://jmlr.org/papers/v20/18-277.html}
}
| [1] | Jean Kossaifi、Yannis Panagakis、Anima Anandkumar、Maja Pantic、 Tensorly:Pythonのテンソル学習、 Journal of Machine Learning Research(JMLR) 、2019、Volume 20、Number 26。 |