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)