Ví dụ 2 Đào tạo
Chức năng đào tạo
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 xác định số lần lặp (vòng lặp) mà mô hình sẽ thực hiện.
model.fit là hàm chạy các vòng lặp.
callbacks xác định hàm gọi lại để gọi khi mô hình muốn vẽ lại đồ họa.
Kiểm tra mô hình
Khi một mô hình được đào tạo, điều quan trọng là phải kiểm tra và đánh giá nó.
Chúng tôi thực hiện điều này bằng cách kiểm tra những gì mô hình dự đoán cho nhiều loại đầu vào khác nhau.
Tuy nhiên, trước khi có thể làm điều đó, chúng ta phải hủy chuẩn hóa dữ liệu:
Bỏ chuẩn hóa
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();
Sau đó chúng ta có thể nhìn vào kết quả:
Vẽ kết quả
const predicted = Array.from(unX).map((val, i) => {
return {x: val, y: unY[i]}
});
// Plot the Result
tfPlot([values, predicted], surface1)