Beispiel 1 Ausbildung


Trainingsfunktion

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}
  );
}

Epochen definiert, wie viele Iterationen (Schleifen) das Modell durchführt.

model.fit ist die Funktion, die die Schleifen ausführt.

Callbacks definiert die Callback-Funktion, die aufgerufen werden soll, wenn das Modell die Grafik neu zeichnen möchte.


Testen Sie das Modell

Wenn ein Modell trainiert wird, ist es wichtig, es zu testen und zu evaluieren.

Wir tun dies, indem wir untersuchen, was das Modell für eine Reihe verschiedener Eingaben vorhersagt.

Aber bevor wir das tun können, müssen wir die Daten de-normalisieren:

A Normalisieren

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();

Dann können wir uns das Ergebnis anschauen:

Zeichnen Sie das Ergebnis

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

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