Przykład 1 Szkolenie
Funkcja treningu
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}
);
}
Epoki określają, ile iteracji (pętli) wykona model.
model.fit to funkcja, która uruchamia pętle.
callbacks definiuje funkcję zwrotną do wywołania, gdy model chce przerysować grafikę.
Przetestuj model
Gdy model jest szkolony, ważne jest, aby go przetestować i ocenić.
Robimy to, sprawdzając, co przewiduje model dla szeregu różnych danych wejściowych.
Ale zanim to zrobimy, musimy cofnąć normalizację danych:
Normalizuj
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();
Następnie możemy spojrzeć na wynik:
Wykreśl wynik
const predicted = Array.from(unX).map((val, i) => {
return {x: val, y: unY[i]}
});
// Plot the Result
tfPlot([values, predicted], surface1)