더북(TheBook)

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() 함수가 끝날 때까지 기다리지만, 향후 예제는 전경 스레드에서 다른 작업을 하는 동안 백그라운드에서 훈련하겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.