Beispiel 2 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)