باي تورش
المحتويات
تعريفًا بالموضوع، باي تورش هي مكتبة تعلم عميق مفتوحة المصدر مبنية على تورش، تُستعمل في تطبيقات الرؤية الحاسوبية ومعالجة اللغات الطبيعية، طوّرها في الأصل من فريق أبحاث الذكاء الاصطناعي التابعة لشركة ميتا. وهي برمجية حرة مفتوحة المصدر تحت رخصة بي سي دي المعدلة، على الرغم من أن واجهة بايثون هي الأكثر ظهورا وبروزا والهدف الرئيسي من التطوير، توجد كذلك واجهة بسي++. ونتناول فيما يلي مزيدًا من التفاصيل.
مثال
وعلى صعيد آخر، يوضح المثال البرمجي التالي الوظائف الأساسية للمكتبة:import torch
التاريخ
إضافةً إلى ذلك، في سنة 2001، كُتبت تورش بترخيص رخصة جنو العمومية من قبل معهد أبحاث Idiap. كانت مكتبة للتعلم الآلي مكتوبة بلغة C++، تدعم الشبكات العصبية، وآلات المتجهات الداعمة (SVM)، ونماذج ماركوف المخفية. في سنة 2010، أُعيدت كتابتها بواسطة رونان كولوبيرت، وكليمنت فارابيت، وكوراي كافوكوغلو، وعُرفت هذه النسخة باسم Torch7 أو LuaTorch بحيث تكون الواجهة الخلفية بلغة سي والواجهة الأمامية بلغة لوا. في منتصف عام 2016، قام بعض المطورين بإعادة هيكلة الكود لفصل الواجهة الأمامية عن الواجهة الخلفية، مع تأثير قوي من torch-autograd و تشاينر. وبدورها، تأثرت خوارزمية torch-autograd بخوارزمية HIPS/autograd. توقف تطوير Torch7 في عام 2018 وتم دمجه مع باي تورش.
كذلك، طوّرت شركة ميتا بلاتفورمز (المعروفة سابقًا باسم فيسبوك) كلًا من باي تورش (PyTorch) وكافي 2 (Caffe2). إلا أن النماذج التي أُنشئت باستخدام الإطارين لم تكن متوافقةً فيما بينها. فأُنشئ مشروع تبادل الشبكات العصبية المفتوحة (ONNX) بواسطة ميتا ومايكروسوفت في سبتمبر 2017، بهدف فصل أطر التعلم العميق عن بيئات التشغيل الخاصة بالأجهزة، مما يسمح بتحويل النماذج بين الأطر وتحسينها لموفري التنفيذ مثل TensorRT من إنفيديا. تم دمج Caffe2 في باي تورش في نهاية مارس 2018. في سبتمبر 2022، أعلنت شركة ميتا أن باي تورش ستخضع لإدارة لمؤسسة مستقلة، وهي مؤسسة تابعة تم إنشاؤها حديثًا لتشرف عليه مؤسسة لينكس.
من جهة ثانية، تم إصدار باي تورش 2.0 في 15 مارس 2023، بتحسينات كبيرة في أداء التدريب والاستدلال عبر منصات الحوسبة السحابية الرئيسية.
# Output: tensor(-1.1884, 0.8498, -1.7129],
- # [-0.8816, 0.1944, 0.5847)
- b = torch.randn(2, 3, device=device, dtype=dtype)
- print(b)
# Output: tensor( 0.7178, -0.8453, -1.3403],
# [ 1.3262, 1.1512, -1.7070)
print(a * b)
# Output: tensor(-0.8530, -0.7183, 2.58],
- # Output: tensor(0.5847)
- print(a.max)
- # Output: tensor(0.8498)
- انظر كذلك
- تورنادو
- أوتودسك موسيون بولدير
- باي لونز
- المراجع
- # [-1.1692, 0.2238, -0.9981)
- print(a.sum)
- # Output: tensor(-2.1540)
إضافةً إلى ذلك، print(a[1, 2]) # Output of the element in the third column of the second row (zero-based)
dtype = torch.float
- device = torch.device("cpu") # Execute all calculations on the CPU
- # device = torch.device("cuda:0") # Executes all calculations on the GPU
- # Create a tensor and fill it with random numbers
- a = torch.randn(2, 3, device=device, dtype=dtype)
- print(a)
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟