Exemple 2 Formation


Fonction d'entraînement

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 définit le nombre d'itérations (boucles) que le modèle fera.

model.fit est la fonction qui exécute les boucles.

callbacks définit la fonction de rappel à appeler lorsque le modèle veut redessiner les graphiques.


Tester le modèle

Lorsqu'un modèle est formé, il est important de le tester et de l'évaluer.

Pour ce faire, nous examinons ce que le modèle prédit pour une gamme d'entrées différentes.

Mais, avant de pouvoir faire cela, nous devons dénormaliser les données :

A Normaliser

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

Ensuite, nous pouvons regarder le résultat:

Tracer le résultat

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

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