مقدمة إلى TensorFlow.js
تُعد TensorFlow.js واحدة من أشهر مكتبات JavaScript
المستخدمة في تعلم الآلة. وتوضح الصفحة الأصلية أنها تسمح لنا
بتدريب نماذج تعلم الآلة وتشغيلها مباشرة داخل المتصفح،
كما تتيح إضافة وظائف الذكاء الاصطناعي إلى تطبيقات الويب بسهولة أكبر.

ما هو TensorFlow.js؟
تشرح الصفحة أن TensorFlow.js هي مكتبة JavaScript خاصة بتعلم الآلة،
وأنها تتيح لنا تدريب النماذج ونشرها داخل المتصفح. وهذا مهم جدًا
لمطوري الويب، لأنه يسمح بإدخال قدرات ذكية داخل التطبيقات
دون الاعتماد الكامل على بيئات خارجية منفصلة.
كما تشير الصفحة إلى أن TensorFlow الأصلي تم تطويره بواسطة
Google Brain Team للاستخدام الداخلي في Google،
ثم تم إطلاقه كمشروع مفتوح المصدر في عام 2015.
وبعد ذلك، في يناير 2019، تم إطلاق
TensorFlow.js باعتباره النسخة المخصصة لـ JavaScript،
مع الحفاظ على نفس الأفكار والقدرات الأساسية الموجودة
في TensorFlow المكتوب بلغة Python. :contentReference[oaicite:1]{index=1}
استخدام TensorFlow.js داخل الصفحة
توضح الصفحة أنه لاستخدام TensorFlow.js داخل ملفات HTML،
يكفي إضافة مكتبة TensorFlow.js عبر وسم script.
وتعرض الصفحة أيضًا طريقة أقصر للحصول دائمًا على
أحدث إصدار متاح، وذلك بحذف رقم النسخة من الرابط:
هذا يعني أن أي صفحة ويب يمكنها تحميل المكتبة مباشرة،
ثم البدء في إنشاء tensors أو استخدام نماذج تعلم آلة
داخل JavaScript.
ما هو Tensor؟
ينتقل المقال بعد ذلك إلى شرح مفهوم
Tensor، وهو النوع الأساسي للبيانات
داخل TensorFlow.js. وتوضح الصفحة أن Tensor يشبه إلى حد كبير
مصفوفة متعددة الأبعاد، ويمكنه أن يحتوي على قيم
ضمن بعد واحد أو أكثر. :contentReference[oaicite:2]{index=2}

خصائص الـ Tensor
تعرض الصفحة 3 خصائص رئيسية للـ Tensor:
- dtype: نوع البيانات
- rank: عدد الأبعاد
- shape: حجم كل بُعد
كما توضّح الصفحة أن مصطلح
dimension قد يُستخدم أحيانًا بالتبادل مع
rank في سياق تعلم الآلة. وتذكر مثالًا مهمًا:
ثم تضيف الصفحة أن مصطلح
dimensionality قد يُستخدم أحيانًا للإشارة
إلى حجم أحد الأبعاد نفسها. فمثلًا في Tensor بالشكل
يكون حجم البعد الأول هو 10.
إنشاء Tensor
توضح الصفحة أن النوع الأساسي للبيانات في TensorFlow هو Tensor،
وأنه يمكن إنشاؤه من أي مصفوفة متعددة الأبعاد باستخدام الدالة:
ثم تعرض الصفحة عدة أمثلة تدريجية.
مثال 1
مثال 2
مثال 3
هذه الأمثلة توضح أن Tensor يمكن بناؤه من هياكل بيانات مختلفة،
طالما أنها تمثل مصفوفة أو مجموعة أبعاد يمكن لـ TensorFlow.js
التعامل معها.
إنشاء Tensor مع Shape محدد
بعد ذلك تشرح الصفحة أنه يمكن أيضًا إنشاء Tensor
من مصفوفة عادية مع تمرير shape بشكل صريح.
وهذا يعطي المطور تحكمًا أوضح في طريقة تشكيل البيانات
داخل الـ Tensor. :contentReference[oaicite:3]{index=3}
مثال 1
مثال 2
مثال 3
وهنا نلاحظ أن نفس البيانات يمكن تمثيلها بطرق مختلفة،
لكن الـ shape هو الذي يحدد كيف سيتم تفسير هذه القيم
داخل الأبعاد المختلفة.
استرجاع قيم الـ Tensor
لا يكفي إنشاء Tensor فقط، بل نحتاج أيضًا إلى استرجاع البيانات
الموجودة بداخله. وتعرض الصفحة طريقتين أساسيتين لذلك:
- tensor.data()
- tensor.array()
استخدام data()
توضح الصفحة أن
tensor.data()
تعيد البيانات الموجودة خلف الـ Tensor.
هذه الطريقة مفيدة عندما نريد استخراج القيم من الـ Tensor
بصورة مباشرة وعرضها أو التعامل معها برمجيًا.
استخدام array()
بعد ذلك تعرض الصفحة طريقة أخرى وهي
tensor.array()،
والتي تعيد البيانات على شكل مصفوفة.
كما تعرض الصفحة مثالًا قريبًا منه لعرض الصف الثاني بدل الأول:
لماذا TensorFlow.js مهم لمطور الويب؟
أهمية TensorFlow.js لا تأتي فقط من كونه مكتبة لتعلم الآلة،
بل من كونه ينقل هذه الإمكانيات إلى بيئة JavaScript
التي يعرفها كثير من مطوري الويب بالفعل.
فبدلًا من الاكتفاء بعرض البيانات أو التعامل مع الواجهة،
يمكن للمطور أن يبدأ في استخدام tensors وبناء منطق ذكي
داخل التطبيق نفسه.
كما أن فهم الـ Tensor يعتبر خطوة أساسية جدًا،
لأن معظم ما يتم لاحقًا في TensorFlow.js
يعتمد على إنشاء tensors، تشكيلها، وتمريرها إلى نماذج
أو عمليات رياضية مختلفة.
الخلاصة
يوضح هذا الدرس أن TensorFlow.js هو مدخل مهم
لاستخدام تعلم الآلة داخل JavaScript والمتصفح. ويبدأ بشرح
طريقة تضمين المكتبة داخل الصفحة، ثم يقدم مفهوم
Tensor بوصفه النوع الأساسي للبيانات،
مع خصائصه الرئيسية مثل dtype وrank
وshape. وبعد ذلك يعرض أمثلة متعددة على إنشاء tensors
واسترجاع القيم منها باستخدام data() وarray().
وبهذا يضع الأساس العملي لفهم كيفية العمل لاحقًا مع TensorFlow.js
في تطبيقات الويب.
