Voorbeeld 2 Training
Trainingsfunctie:
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}
);
}
epochs definieert hoeveel iteraties (loops) het model zal doen.
model.fit is de functie die de lussen uitvoert.
callbacks definieert de callback-functie die moet worden aangeroepen wanneer het model de afbeeldingen opnieuw wil tekenen.
Test het model
Wanneer een model wordt getraind, is het belangrijk om het te testen en te evalueren.
We doen dit door te inspecteren wat het model voorspelt voor een reeks verschillende inputs.
Maar voordat we dat kunnen doen, moeten we de gegevens de-normaliseren:
een normaliseren
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();
Dan kunnen we kijken naar het resultaat:
Plot het resultaat
const predicted = Array.from(unX).map((val, i) => {
return {x: val, y: unY[i]}
});
// Plot the Result
tfPlot([values, predicted], surface1)