Home
Login

آيفي هي أداة مفتوحة المصدر لتحويل كود تعلم الآلة، تدعم تحويل الكود بين أطر عمل مثل PyTorch و TensorFlow و JAX و NumPy، مع الحفاظ على الوظائف الكاملة.

NOASSERTIONPython 14.2kivy-llc Last Updated: 2025-06-13

وصف مشروع Ivy

نظرة عامة على المشروع

Ivy هو مشروع مفتوح المصدر يهدف إلى تبسيط عملية تحويل شفرات تعلم الآلة (ML) بين أطر العمل المختلفة مع الحفاظ على الوظائف الكاملة. يتيح للمستخدمين إنشاء نماذج ووظائف مُحسَّنة بالاعتماد على الرسوم البيانية (graph-based) في أطر العمل الأصلية مثل PyTorch وTensorFlow.


الوظائف الرئيسية

  • تحويل الشفرة: يُتيح مُترجم Ivy (transpiler) تحويل النماذج والأدوات والمكتبات بين أطر عمل تعلم الآلة المختلفة.
  • إنشاء نماذج رسومية: باستخدام الأمر ivy.trace_graph، يمكن إنشاء نماذج ووظائف مُحسَّنة في أي إطار عمل أصلي.

طرق التثبيت

  • التثبيت عبر pip:
    pip install ivy
    
  • التثبيت من المصدر:
    git clone https://github.com/ivy-llc/ivy.git
    cd ivy
    pip install --user -e .
    
    (ملاحظة: قد لا تضمن هذه الطريقة استقرار جميع الوظائف).

أطر العمل المدعومة

يدعم Ivy التحويل من/إلى الأطر التالية:

  • PyTorch
  • TensorFlow
  • JAX
  • NumPy
    (يجري الفريق تطوير دعم أطر عمل إضافية، ويمكن اقتراح أطر جديدة عبر خادم Discord الخاص بالمشروع).

بدء سريع

  • دفتر البدء السريع (Quickstart Notebook): يُوفِّر أمثلة عملية لفهم الوظائف الأساسية.
  • الأمثلة التوضيحية: تُظهِر صفحة الأمثلة تحويل النماذج والمكتبات بين PyTorch، JAX، TensorFlow، وNumPy.

كيف يعمل Ivy؟

يعمل كمُترجم برمجي (transpiler) يسمح باستخدام شفرة من أطر عمل أخرى بإضافة سطر واحد. يُنفِّذ التحويل بطرق مختلفة حسب نوع المُدخلات (كلاس/دالة vs. مكتبة):

# مثال: تحويل دالة PyTorch إلى TensorFlow
import ivy
torch_fn = ivy.transpile(torch_fn, source="torch", to="tensorflow")

الوثائق والإسهام

  • الوثائق: تشمل مراجع API ودلائل الاستخدام على صفحة التوثيق.
  • المساهمة: يُرحَّب بالإبلاغ عن الأخطاء أو تطوير الوظائف عبر دليل المساهمة.

اقتباس المشروع

يرجى تضمين الورقة البحثية المصاحبة (companion paper) عند استخدام Ivy في الأبحاث أو المشاريع:

@article{ivy2023,
  title={Ivy: Unified Machine Learning for Inter-Framework Portability},
  author={Lenton, Daniel et al.},
  journal={arXiv preprint arXiv:2212.07091},
  year={2023}
}