DirectML عبارة عن مكتبة DirectX 12 عالية الأداء ومسرّعة بالأجهزة للتعلم الآلي. يوفر DirectML تسريعًا لوحدة معالجة الرسومات لمهام التعلم الآلي الشائعة عبر مجموعة واسعة من الأجهزة وبرامج التشغيل المدعومة، بما في ذلك جميع وحدات معالجة الرسومات التي تدعم DirectX 12 من موردين مثل AMD وIntel وNVIDIA وQualcomm.
عند استخدامها بشكل مستقل، تكون واجهة برمجة تطبيقات DirectML عبارة عن مكتبة DirectX 12 منخفضة المستوى ومناسبة للتطبيقات عالية الأداء وزمن الاستجابة المنخفض مثل أطر العمل والألعاب وتطبيقات الوقت الفعلي الأخرى. إن قابلية التشغيل البيني السلس لـ DirectML مع Direct3D 12 بالإضافة إلى انخفاض الحمل والتوافق عبر الأجهزة تجعل DirectML مثاليًا لتسريع التعلم الآلي عندما يكون الأداء العالي مطلوبًا، وتكون الموثوقية والقدرة على التنبؤ بالنتائج عبر الأجهزة أمرًا بالغ الأهمية.
يمكن العثور على مزيد من المعلومات حول DirectML في مقدمة إلى DirectML.
تفضل بزيارة صفحة DirectX المقصودة لمزيد من الموارد لمطوري DirectX.
يتم توزيع DirectML كمكون نظام Windows 10، وهو متوفر كجزء من نظام التشغيل Windows 10 (OS) في Windows 10، الإصدار 1903 (10.0؛ الإصدار 18362)، والأحدث.
بدءًا من الإصدار 1.4.0 من DirectML، يتوفر DirectML أيضًا كحزمة مستقلة قابلة لإعادة التوزيع (راجع Microsoft.AI.DirectML)، وهو أمر مفيد للتطبيقات التي ترغب في استخدام إصدار ثابت من DirectML، أو عند التشغيل على إصدارات أقدم من Windows 10 .
يتطلب DirectML جهازًا يدعم DirectX 12. تدعم جميع بطاقات الرسومات المتوفرة تجاريًا تقريبًا والتي تم إصدارها في السنوات العديدة الماضية برنامج DirectX 12. ومن أمثلة الأجهزة المتوافقة ما يلي:
يعرض DirectML واجهة برمجة تطبيقات C++ DirectX 12 الأصلية. يتوفر الرأس والمكتبة (DirectML.h/DirectML.lib) كجزء من حزمة NuGet القابلة لإعادة التوزيع، كما يتم تضمينهما أيضًا في إصدار Windows 10 SDK 10.0.18362 أو أحدث.
تم دمج DirectML كواجهة خلفية للعديد من أطر العمل مثل Windows ML وONNX Runtime وTensorFlow.
راجع الأقسام التالية لمزيد من المعلومات:
يتوفر نموذج التعليمات البرمجية لـ DirectML C++ ضمن "النماذج".
يتوفر نموذج التعليمات البرمجية لـ DirectML Python ضمن Python/samples. تتطلب العينات PyDirectML، وهي مكتبة عرض Python مفتوحة المصدر لـ DirectML، والتي يمكن إنشاؤها وتثبيتها على بيئة تنفيذ Python من Python/src. ارجع إلى ملف Python/README.md لمزيد من التفاصيل.
DxDispatch هو عبارة عن سطر أوامر بسيط قابل للتنفيذ لبدء تشغيل برامج حوسبة DirectX 12 (بما في ذلك مشغلي DirectML) دون كتابة جميع نماذج C++ النموذجية.
Windows ML (WinML) عبارة عن واجهة برمجة تطبيقات موثوقة وعالية الأداء لنشر استنتاجات ML المسرَّعة بالأجهزة على أجهزة Windows. يوفر DirectML الواجهة الخلفية لوحدة معالجة الرسومات لنظام التشغيل Windows ML.
يمكن تمكين تسريع DirectML في Windows ML باستخدام LearningModelDevice مع أي من أنواع أجهزة DirectX.
لمزيد من المعلومات، راجع بدء استخدام Windows ML.
ONNX Runtime عبارة عن مسرّع للاستدلال والتدريب عبر الأنظمة الأساسية متوافق مع العديد من أطر عمل ML/DNN الشائعة، بما في ذلك PyTorch وTensorFlow/Keras وscikit-learn والمزيد.
يتوفر DirectML كموفر تنفيذ اختياري لـ ONNX Runtime الذي يوفر تسريع الأجهزة عند التشغيل على نظام التشغيل Windows 10.
لمزيد من المعلومات حول البدء، راجع استخدام موفر تنفيذ DirectML.
يتيح PyTorch مع DirectML التدريب والاستدلال على نماذج التعلم الآلي المعقدة على مجموعة واسعة من الأجهزة المتوافقة مع DirectX 12. ويتم ذلك من خلال torch-directml
، وهو مكون إضافي لـ PyTorch.
يتم دعم PyTorch مع DirectML على كل من أحدث إصدارات Windows ونظام Windows الفرعي لنظام التشغيل Linux، وهو متاح للتنزيل كحزمة PyPI. لمزيد من المعلومات حول بدء استخدام torch-directml
، راجع إرشادات Windows أو WSL 2 الخاصة بنا على Microsoft Learn.
TensorFlow عبارة عن منصة شعبية مفتوحة المصدر للتعلم الآلي وهي إطار عمل رائد لتدريب نماذج التعلم الآلي.
تسريع DirectML لـ TensorFlow 1.15 متاح حاليًا للمعاينة العامة. يتيح TensorFlow on DirectML التدريب والاستدلال على نماذج التعلم الآلي المعقدة على مجموعة واسعة من الأجهزة المتوافقة مع DirectX 12.
يتم دعم TensorFlow on DirectML في كل من أحدث إصدارات Windows 10 ونظام Windows الفرعي لنظام التشغيل Linux، وهو متاح للتنزيل كحزمة PyPI. لمزيد من المعلومات حول البدء، راجع تدريب تعلم الآلة المسرع باستخدام GPU (docs.microsoft.com)
ونحن نتطلع الى الاستماع منك!
بالنسبة لمشاكل TensorFlow مع DirectML والأخطاء والتعليقات؛ أو بالنسبة لمشكلات DirectML العامة والتعليقات، يرجى تقديم مشكلة أو الاتصال بنا مباشرة على [email protected].
بالنسبة لمشاكل PyTorch مع DirectML، والأخطاء، والتعليقات؛ أو بالنسبة لمشكلات DirectML العامة والتعليقات، يرجى تقديم مشكلة أو الاتصال بنا مباشرة على [email protected].
بالنسبة لمشكلات Windows ML، يرجى تقديم مشكلة GitHub على microsoft/Windows-Machine-Learning أو الاتصال بنا مباشرة على [email protected].
بالنسبة لمشكلات وقت تشغيل ONNX، يرجى تقديم مشكلة على microsoft/onnxruntime.
دليل برمجة DirectML
مرجع DirectML API
تقديم DirectML (مؤتمر مطوري الألعاب '19)
تسريع استنتاج GPU باستخدام DirectML وDirectX 12 (SIGGRAPH '18)
الذكاء الاصطناعي لنظام التشغيل Windows: التعلم الآلي المسرّع بالأجهزة على أجهزة Windows (Microsoft Build '20)
اللعب باستخدام Windows ML (مدونة مطوري DirectX)
DirectML في GDC 2019 (مدونة مطوري DirectX)
DirectX ❤ Linux (مدونة مطوري DirectX)
يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في منحنا حقوق استخدام مساهمتك، بل وتفعل ذلك بالفعل. لمزيد من التفاصيل، قم بزيارة https://cla.microsoft.com.
عند إرسال طلب سحب، سيحدد روبوت CLA تلقائيًا ما إذا كنت بحاجة إلى تقديم CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال، التسمية، التعليق). ما عليك سوى اتباع التعليمات التي يقدمها لك الروبوت. سوف تحتاج إلى القيام بذلك مرة واحدة فقط عبر جميع اتفاقيات إعادة الشراء باستخدام CLA الخاصة بنا.
اعتمد هذا المشروع قواعد السلوك الخاصة بشركة Microsoft مفتوحة المصدر. لمزيد من المعلومات، راجع الأسئلة الشائعة حول قواعد السلوك أو اتصل بـ [email protected] لطرح أي أسئلة أو تعليقات إضافية.