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 lại (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 định nghĩa hàm callback để gọi khi mô hình muốn vẽ lại đồ họa.


Kiểm tra mô hình

Khi một người mẫu đượ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 một loạt các đầu vào khác nhau.

Tuy nhiên, trước khi chúng tôi có thể làm điều đó, chúng tôi phải hủy chuẩn hóa dữ liệu:

Một bình thường 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ả:

Lập đồ thị kết quả

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

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