2.1.5 훈련 데이터에서 모델 훈련하기
TensorFlow.js에서 모델을 훈련하려면 모델의 fit() 메서드를 호출합니다. 이를 통해 모델이 훈련 데이터를 학습합니다. 여기서는 입력으로 sizeMB 텐서를, 원하는 출력으로 timeSec 텐서를 전달합니다. epoch 매개변수에 훈련 데이터를 열 번 반복하라고 지정합니다. 딥러닝에서 전체 훈련 데이터를 한 번 반복하는 것을 에포크(epoch)라고 합니다.
코드 2-5 선형 회귀 모델 훈련(CodePen 2-c)
(async function() {
await model.fit(trainTensors.sizeMB,
trainTensors.timeSec,
{epochs: 10});
})();
fit() 메서드는 종종 수 초 또는 수 분에 걸쳐 오래 실행될 수 있습니다. 따라서 ES2017/ES8의 async/await 기능을 사용해 이 함수가 메인 UI 스레드(thread)를 블록하지 않도록 하겠습니다. async fetch와 같이 자바스크립트에서 장기간 실행될 수 있는 다른 함수와 비슷합니다. 여기에서는 즉시 실행 함수 표현(Immediately Invoked Async Function Expression)7 패턴을 사용하여 fit() 함수가 끝날 때까지 기다리지만, 향후 예제는 전경 스레드에서 다른 작업을 하는 동안 백그라운드에서 훈련하겠습니다.