
Tensorly هي مكتبة Python تهدف إلى جعل Tensor تعلم بسيطة ويمكن الوصول إليها. يسمح بسهولة بإجراء تحلل الموتر ، وتعلم الموتر وجبر الموتر. يسمح نظام الواجهة الخلفية الخاصة به بإجراء الحساب بسلاسة مع Numpy و Pytorch و Jax و TensorFlow و Cupy أو Paddle ، وتشغيل طرق على نطاق واسع على وحدة المعالجة المركزية أو GPU.
الشرط المسبق الوحيد هو تثبيت Python 3 . أسهل طريقة هي عن طريق توزيع Anaconda.
| مع PIP (موصى به) | مع كوندا |
تثبيت PIP -U Tensorly
| كوندا تثبيت -C تترنسورلي
|
| التنمية (من GIT) | |
# استنساخ المستودع
git clone https://github.com/tensorly/tensorly
قرص مضغوط
# التثبيت في الوضع القابل للتحرير مع `-e` أو ، ما يعادل ،`-edable `
تثبيت PIP -e.
| |
ملاحظة: يعتمد Tensorly على Numpy افتراضيًا. إذا كنت ترغب في استخدام الخلفية الأخرى ، فستحتاج إلى تثبيت هذه الحزم بشكل منفصل.
للحصول على تعليمات مفصلة ، يرجى الاطلاع على الوثائق.
قم بإنشاء موتر صغير من الدرجة الثالثة بحجم 3 × 4 × 2 ، من صفيف numpy وأداء عمليات بسيطة:
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' )يمكنك أيضًا إنشاء Tensors في TT-Format ، Tucker ، إلخ ، رؤية موتر عشوائي.
يمكنك تغيير الواجهة الخلفية لإجراء الحساب بإطار مختلف. بشكل افتراضي ، فإن الواجهة الخلفية هي Numpy ، ولكن يمكنك أيضًا إجراء الحساب باستخدام Pytorch و TensorFlow و Jax أو Cupy أو Paddle (يتطلب تثبيتها أولاً). على سبيل المثال ، بعد تعيين الواجهة الخلفية إلى Pytorch ، يتم إجراء كل الحساب بواسطة Pytorch ، ويمكن إنشاء Tensors على 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 )لدينا العديد من التحلل المتاحة ، تأكد من التحقق منها!
هذه مجرد مقدمة سريعة للغاية لبعض الميزات الأساسية لـ Tensorly. لمزيد من المعلومات حول البدء ، قم بالتجول
إذا رأيت خطأ ، افتح مشكلة ، أو الأفضل من ذلك ، مرجع السحب!
جميع المساهمات موضع ترحيب! لذا ، إذا كان لديك طريقة رائعة ، فأنت تريد إضافتها ، إذا اكتشفت خطأً أو حتى خطأ مطبعي أو خطأ في الوثائق ، فيرجى الإبلاغ عن ذلك ، وحتى أفضل ، فتح طلب سحب على Github.
قبل إرسال التغييرات الخاصة بك ، يجب عليك التأكد من أن الرمز الخاص بك يلتزم بتوجيه نمطنا. أسهل طريقة للقيام بذلك هي مع الأسود:
pip install black
black .يعد الاختبار والوثائق جزءًا أساسيًا من هذه الحزمة وجميع الوظائف تأتي مع اختبارات وتوثيق أحادي.
يتم تشغيل الاختبارات باستخدام حزمة Pytest. أول تثبيت Pytest:
PIP تثبيت pytest
ثم لإجراء الاختبار ، ما عليك سوى تشغيل ، في المحطة:
pytest -v تنسورلي
بدلاً من ذلك ، يمكنك تحديد الواجهة الخلفية التي ترغب في إجراء الاختبارات:
tensorly_backend = 'numpy' pytest -v tensorly
إذا كنت تستخدم Tensorly في ورقة أكاديمية ، يرجى الاستشهاد [1]:
article {tensorly ،
المؤلف = {Jean Kossaifi و Yannis Panagakis و Anima Anandkumar و Maja Pantic} ،
العنوان = {Tensorly: Tensor Learning in Python} ،
Journal = {Journal of Machine Learning Research} ،
السنة = {2019} ،
المجلد = {20} ،
الرقم = {26} ،
الصفحات = {1-6} ،
url = {http://jmlr.org/papers/v20/18-277.html}
}
| [1] | Jean Kossaifi ، Yannis Panagakis ، Anima Anandkumar و Maja Pantic ، Tensorly: Tensor Learning in Python ، Journal of Machine Learning Research (JMLR) ، 2019 ، Volume 20 ، Number 26. |