إعداد Node.js

بالنسبة لبيئة Node.js، يمكنك تثبيتها باستخدام npm:

npm install @tensorflow/tfjs

2. بناء نموذج بسيط للشبكة العصبية

لنقم بإنشاء شبكة عصبية بسيطة تتنبأ بمخرجات دالة خطية أساسية، y = 2x - 1. سنستخدم TensorFlow.js لإنشاء هذا النموذج وتدريبه.

الخطوة 1: تحديد النموذج

سنبدأ بتحديد نموذج متسلسل (مجموعة خطية من الطبقات) بطبقة واحدة كثيفة:

// Import TensorFlow.jsimport * as tf from \\'@tensorflow/tfjs\\';// Create a simple sequential modelconst model = tf.sequential();// Add a single dense layer with 1 unit (neuron)model.add(tf.layers.dense({units: 1, inputShape: [1]}));

هنا، قمنا بإنشاء نموذج بطبقة واحدة كثيفة. تحتوي الطبقة على خلية عصبية واحدة (الوحدات: 1)، وتتوقع ميزة إدخال واحدة (شكل الإدخال: [1]).

الخطوة 2: تجميع النموذج

بعد ذلك، نقوم بتجميع النموذج من خلال تحديد وظيفة المحسن والخسارة:

// Compile the modelmodel.compile({  optimizer: \\'sgd\\',  // Stochastic Gradient Descent  loss: \\'meanSquaredError\\'  // Loss function for regression});

نحن نستخدم مُحسِّن Stochastic Gradient Descent (SGD)، وهو فعال للنماذج الصغيرة. دالة الخسارة،meanSquaredError، مناسبة لمهام الانحدار مثل هذه.

الخطوة 3: إعداد بيانات التدريب

سنقوم الآن بإنشاء بعض بيانات التدريب للدالة y = 2x - 1. في TensorFlow.js، يتم تخزين البيانات في Tensors (مصفوفات متعددة الأبعاد). إليك كيفية إنشاء بعض بيانات التدريب:

// Generate some synthetic data for trainingconst xs = tf.tensor2d([0, 1, 2, 3, 4], [5, 1]);  // Inputs (x values)const ys = tf.tensor2d([1, 3, 5, 7, 9], [5, 1]);  // Outputs (y values)

في هذه الحالة، قمنا بإنشاء موتر xs بقيم الإدخال (0، 1، 2، 3، 4) وموتر إخراج مناظر ys بقيم محسوبة باستخدام y = 2x - 1.

الخطوة 4: تدريب النموذج

الآن، يمكننا تدريب النموذج على بياناتنا:

// Train the modelmodel.fit(xs, ys, {epochs: 500}).then(() => {  // Once training is complete, use the model to make predictions  model.predict(tf.tensor2d([5], [1, 1])).print();  // Output will be close to 2*5 - 1 = 9});

هنا، نقوم بتدريب النموذج لمدة 500 حقبة (تكرارات على بيانات التدريب). بعد التدريب، نستخدم النموذج للتنبؤ بمخرجات قيمة الإدخال 5، والتي يجب أن تُرجع قيمة قريبة من 9 (y = 2*5 - 1 = 9).

3. تشغيل النموذج في المتصفح

لتشغيل هذا النموذج في المتصفح، ستحتاج إلى ملف HTML يتضمن مكتبة TensorFlow.js وكود JavaScript الخاص بك:

            TensorFlow.js Example              

Simple Neural Network with TensorFlow.js

وفي ملف app.js الخاص بك، يمكنك تضمين كود بناء النموذج والتدريب من الأعلى.

","image":"http://www.luping.net/uploads/20241022/17295980466717925ed5c04.jpg","datePublished":"2024-11-05T22:45:47+08:00","dateModified":"2024-11-05T22:45:47+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > البدء في التعلم الآلي في JavaScript: دليل المبتدئين باستخدام TensorFlow.js

البدء في التعلم الآلي في JavaScript: دليل المبتدئين باستخدام TensorFlow.js

تم النشر بتاريخ 2024-11-05
تصفح:647

Getting Started with Machine Learning in JavaScript: A Beginner’s Guide with TensorFlow.js

لقد أحدث التعلم الآلي (ML) تحولًا سريعًا في عالم تطوير البرمجيات. حتى وقت قريب، كانت لغة بايثون هي اللغة المهيمنة في مجال تعلم الآلة، وذلك بفضل مكتبات مثل TensorFlow وPyTorch. ولكن مع ظهور TensorFlow.js، يمكن لمطوري JavaScript الآن الغوص في عالم التعلم الآلي المثير، باستخدام بناء الجملة المألوف لبناء النماذج وتدريبها مباشرة في المتصفح أو على Node.js.

في منشور المدونة هذا، سنستكشف كيف يمكنك البدء في التعلم الآلي باستخدام JavaScript. سنتناول مثالًا لبناء نموذج بسيط وتدريبه باستخدام TensorFlow.js.

لماذا TensorFlow.js؟

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

إليك بعض الأسباب التي تجعل TensorFlow.js مثيرًا:

  1. التدريب في الوقت الفعلي: يمكنك تشغيل النماذج مباشرة في المتصفح، مما يوفر تفاعلًا في الوقت الفعلي.
  2. عبر الأنظمة الأساسية: يمكن تشغيل نفس الكود على بيئات الخادم والعميل.
  3. تسريع الأجهزة: يستخدم WebGL لتسريع وحدة معالجة الرسومات، مما يؤدي إلى تسريع العمليات الحسابية.

دعونا نرى كيف نبدأ!

1. إعداد TensorFlow.js

قبل الغوص في التعليمات البرمجية، ستحتاج إلى تثبيت TensorFlow.js. يمكنك تضمينه في مشروعك عبر علامة

إعداد المتصفح

لاستخدام TensorFlow.js في المتصفح، ما عليك سوى تضمين علامة

إعداد Node.js

بالنسبة لبيئة Node.js، يمكنك تثبيتها باستخدام npm:

npm install @tensorflow/tfjs

2. بناء نموذج بسيط للشبكة العصبية

لنقم بإنشاء شبكة عصبية بسيطة تتنبأ بمخرجات دالة خطية أساسية، y = 2x - 1. سنستخدم TensorFlow.js لإنشاء هذا النموذج وتدريبه.

الخطوة 1: تحديد النموذج

سنبدأ بتحديد نموذج متسلسل (مجموعة خطية من الطبقات) بطبقة واحدة كثيفة:

// Import TensorFlow.js
import * as tf from '@tensorflow/tfjs';

// Create a simple sequential model
const model = tf.sequential();

// Add a single dense layer with 1 unit (neuron)
model.add(tf.layers.dense({units: 1, inputShape: [1]}));

هنا، قمنا بإنشاء نموذج بطبقة واحدة كثيفة. تحتوي الطبقة على خلية عصبية واحدة (الوحدات: 1)، وتتوقع ميزة إدخال واحدة (شكل الإدخال: [1]).

الخطوة 2: تجميع النموذج

بعد ذلك، نقوم بتجميع النموذج من خلال تحديد وظيفة المحسن والخسارة:

// Compile the model
model.compile({
  optimizer: 'sgd',  // Stochastic Gradient Descent
  loss: 'meanSquaredError'  // Loss function for regression
});

نحن نستخدم مُحسِّن Stochastic Gradient Descent (SGD)، وهو فعال للنماذج الصغيرة. دالة الخسارة،meanSquaredError، مناسبة لمهام الانحدار مثل هذه.

الخطوة 3: إعداد بيانات التدريب

سنقوم الآن بإنشاء بعض بيانات التدريب للدالة y = 2x - 1. في TensorFlow.js، يتم تخزين البيانات في Tensors (مصفوفات متعددة الأبعاد). إليك كيفية إنشاء بعض بيانات التدريب:

// Generate some synthetic data for training
const xs = tf.tensor2d([0, 1, 2, 3, 4], [5, 1]);  // Inputs (x values)
const ys = tf.tensor2d([1, 3, 5, 7, 9], [5, 1]);  // Outputs (y values)

في هذه الحالة، قمنا بإنشاء موتر xs بقيم الإدخال (0، 1، 2، 3، 4) وموتر إخراج مناظر ys بقيم محسوبة باستخدام y = 2x - 1.

الخطوة 4: تدريب النموذج

الآن، يمكننا تدريب النموذج على بياناتنا:

// Train the model
model.fit(xs, ys, {epochs: 500}).then(() => {
  // Once training is complete, use the model to make predictions
  model.predict(tf.tensor2d([5], [1, 1])).print();  // Output will be close to 2*5 - 1 = 9
});

هنا، نقوم بتدريب النموذج لمدة 500 حقبة (تكرارات على بيانات التدريب). بعد التدريب، نستخدم النموذج للتنبؤ بمخرجات قيمة الإدخال 5، والتي يجب أن تُرجع قيمة قريبة من 9 (y = 2*5 - 1 = 9).

3. تشغيل النموذج في المتصفح

لتشغيل هذا النموذج في المتصفح، ستحتاج إلى ملف HTML يتضمن مكتبة TensorFlow.js وكود JavaScript الخاص بك:



    TensorFlow.js Example

Simple Neural Network with TensorFlow.js

وفي ملف app.js الخاص بك، يمكنك تضمين كود بناء النموذج والتدريب من الأعلى.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/pawandeore/getting-started-with-machine-learning-in-javascript-a-beginners-guide-with-tensorflowjs-2ol2?1 إذا كان هناك أي انتهاك، من فضلك اتصل بـ [email protected]
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3