TensorFlow.js هي مكتبة JavaScript للتدريب ونشر نماذج التعلم الآلي في متصفح الويب وفي Node.js. يوضح لك هذا البرنامج التعليمي كيفية البدء باستخدام TensorFlow.js من خلال تدريب نموذج مصغر في المتصفح واستخدام النموذج للتنبؤ.
رمز المثال متاح على GitHub .
لإكمال هذا البرنامج التعليمي، تحتاج إلى تثبيت ما يلي في بيئة التطوير الخاصة بك:
احصل على الكود المصدري وقم بتثبيت التبعيات:
- قم باستنساخ أو تنزيل مستودع أمثلة tfjs .
- قم بالتغيير إلى دليل
getting-started:cd tfjs-examples/getting-started. - تثبيت التبعيات:
yarn install.
إذا نظرت إلى ملف package.json ، فقد تلاحظ أن TensorFlow.js ليس تابعًا. وذلك لأن المثال يقوم بتحميل TensorFlow.js من CDN. إليك ملف HTML الكامل من index.html :
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest"> </script>
</head>
<body>
<h4>Tiny TFJS example<hr/></h4>
<div id="micro-out-div">Training...</div>
<script src="./index.js"> </script>
</body>
</html>
يقوم العنصر <script> الموجود في الرأس بتحميل مكتبة TensorFlow.js، ويقوم العنصر <script> الموجود في نهاية النص بتحميل البرنامج النصي للتعلم الآلي.
للتعرف على طرق أخرى للاعتماد على TensorFlow.js، راجع البرنامج التعليمي للإعداد .
قم بتشغيل المثال وتحقق من النتائج:
- في الدليل
tfjs-examples/getting-started، قم بتشغيلyarn watch. - انتقل إلى
http://127.0.0.1:1234في متصفحك.
يجب أن تشاهد عنوان الصفحة وتحته رقم مثل 38.31612014770508 . سيختلف العدد الدقيق، لكنه يجب أن يكون قريبًا من 39.
عند تحميل index.js ، يقوم بتدريب نموذج tf.sequential باستخدام قيم $ x $ و$ y $ التي تلبي المعادلة $ y = 2x - 1 $.
// Create a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});
// Generate some synthetic data for training. (y = 2x - 1)
const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);
const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);
// Train the model using the data.
await model.fit(xs, ys, {epochs: 250});
ثم يتنبأ بقيمة $ y $ للقيمة غير المرئية $ x $ 20 ويقوم بتحديث DOM لعرض التنبؤ.
// Use the model to do inference on a data point the model hasn't seen.
// Should print approximately 39.
document.getElementById('micro-out-div').innerText =
model.predict(tf.tensor2d([20], [1, 1])).dataSync();
نتيجة $ 2 * 20 - 1 $ هي 39، لذا فإن القيمة المتوقعة $ y $ يجب أن تكون 39 تقريبًا.
قدم هذا البرنامج التعليمي مثالًا مبسطًا لاستخدام TensorFlow.js لتدريب نموذج في المتصفح. للحصول على مقدمة أعمق لنماذج التدريب باستخدام JavaScript، راجع دليل TensorFlow.js.
فيما يلي المزيد من الطرق لبدء استخدام TensorFlow.js وweb ML.