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

تستخدم واجهات برمجة تطبيقات Swift for TensorFlow نوع Tensor كوسيلة أساسية لإجراء عمليات حسابية سريعة. يمثل Tensor مجموعة متعددة الأبعاد من القيم، ويتم إرسال العمليات على Tensor تلقائيًا إلى المسرعات المتاحة باستخدام إحدى الواجهتين الخلفيتين.

Tensor عام فيما يتعلق بنوع القيم التي يحتوي عليها. يجب أن يتوافق نوع هذه القيم مع TensorFlowScalar ، والأنواع الشائعة هي Float و Int32 و Bool . على سبيل المثال، لتهيئة اثنين من Tensor يحتويان على Float مع بعض القيم المحددة مسبقًا، يمكنك القيام بما يلي:

let tensor1 = Tensor<Float>([0.0, 1.0, 2.0])
let tensor2 = Tensor<Float>([1.5, 2.5, 3.5])

إذا كنت قد تركت معلمة النوع <Float> ، فسيستنتج Swift نوعًا من Tensor<Double> . Double هو النوع الافتراضي للقيم الحرفية للفاصلة العائمة في Swift. تميل القيم Float إلى أن تكون أكثر شيوعًا في حسابات التعلم الآلي، لذلك نحن نستخدمها هنا.

يعمل العديد من العوامل الشائعة على Tensor s. على سبيل المثال، لإضافة اثنين منهم والحصول على النتيجة، يمكنك القيام بما يلي:

let tensor3 = tensor1 + tensor2

القائمة الكاملة للعمليات التي يمكنك تنفيذها على Tensor متاحة في وثائق API .

_العمليات _Raw

يتم دعم عمليات Tensor بوسيلتين مختلفتين للعمل مع المسرعات، إلا أن لديهم واجهة موحدة عالية المستوى. ضمن الغطاء، يتم تعريف عمليات _Raw التي يتم إرسالها إما إلى إصدارات _RawXLA أو _RawTFEager ، اعتمادًا على الواجهة الخلفية المستخدمة لـ Tensor s المعنية. يتم إنشاء روابط _Raw هذه إلى TensorFlow أو X10 تلقائيًا.

عادةً، لن تحتاج إلى التفاعل مع عمليات _Raw مباشرةً. تم إنشاء واجهات Swift الاصطلاحية فوق هذه الواجهات، وهذه هي الطريقة التي ستجري بها عادةً حسابات Tensor .

ومع ذلك، لا تحتوي جميع عمليات TensorFlow الأساسية على واجهات Swift متطابقة، لذلك قد تحتاج أحيانًا إلى الوصول إلى عوامل تشغيل _Raw في التعليمات البرمجية الخاصة بك. إذا كنت بحاجة إلى القيام بذلك، يتوفر برنامج تعليمي تفاعلي لتوضيح كيفية عمل ذلك.