مثال 2 تدريب


وظيفة التدريب

async function trainModel(model, inputs, labels, surface) {
  const batchSize = 25;
  const epochs = 100;
  const callbacks = tfvis.show.fitCallbacks(surface, ['loss'], {callbacks:['onEpochEnd']})
  return await model.fit(inputs, labels,
    {batchSize, epochs, shuffle:true, callbacks:callbacks}
  );
}

تحدد العصور عدد التكرارات (الحلقات) التي سيفعلها النموذج.

model.fit هي الوظيفة التي تدير الحلقات.

تحدد عمليات الاسترجاعات وظيفة رد الاتصال للاتصال عندما يريد النموذج إعادة رسم الرسومات.


اختبر النموذج

عندما يتم تدريب النموذج ، من المهم اختباره وتقييمه.

نقوم بذلك عن طريق فحص ما يتوقعه النموذج لمجموعة من المدخلات المختلفة.

ولكن ، قبل أن نتمكن من القيام بذلك ، يتعين علينا إلغاء تطبيع البيانات:

تطبيع

let unX = tf.linspace(0, 1, 100);
let unY = model.predict(unX.reshape([100, 1]));

const unNormunX = unX.mul(inputMax.sub(inputMin)).add(inputMin);
const unNormunY = unY.mul(labelMax.sub(labelMin)).add(labelMin);

unX = unNormunX.dataSync();
unY = unNormunY.dataSync();

ثم يمكننا إلقاء نظرة على النتيجة:

ارسم النتيجة

const predicted = Array.from(unX).map((val, i) => {
return {x: val, y: unY[i]}
});

// Plot the Result
tfPlot([values, predicted], surface1)