더북(TheBook)

2.1.7 첫 번째 예제 요약

간단한 예제이므로 모델의 결과를 그림으로 나타낼 수 있습니다. 그림 2-4는 10 에포크를 훈련한 모델부터 최적으로 수렴한 모델까지 네 개의 모델에 대해 입력(sizeMB)의 함수로 모델의 출력(timeSec)을 보여 줍니다. 최적으로 수렴한 모델이 데이터에 가깝게 맞춰져 있습니다. 그림 2-4와 같은 그래프를 출력하는 방법이 궁금하다면 CodePen 2-c(codepen.io/tfjs-book/pen/VEVMMd)를 참고하세요.

▲ 그림 2-4 10, 20, 100, 200 에포크 동안 훈련한 선형 모델

이것으로 첫 번째 예제를 마칩니다. 몇 줄의 자바스크립트 코드로 TensorFlow.js 모델을 구축하고, 훈련하고, 평가하는 방법을 보았습니다(코드 2-6 참조). 다음 절에서 model.fit() 메서드에서 일어나는 일을 조금 더 자세히 알아보겠습니다.

 

코드 2-6 모델 정의, 훈련, 평가, 예측

const model = tf.sequential([tf.layers.dense({inputShape: [1], units: 1})]);
model.compile({optimizer: 'sgd', loss: 'meanAbsoluteError'});
(async () => await model.fit(trainTensors.sizeMB,
                             trainTensors.timeSec,
                             {epochs: 10}))();
model.evaluate(testTensors.sizeMB, testTensors.timeSec);
model.predict(tf.tensor2d([[7.8]])).print();
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.