더북(TheBook)

이전 장에서 보았듯이 훈련 데이터와 추론 데이터 사이의 불일치를 피하기 위해 주의를 기울여야 합니다. MNIST 합성곱 신경망은 0과 1 사이로 정규화된 이미지 텐서에서 훈련되었습니다. 따라서 x 텐서에 있는 데이터가 다른 범위, 예를 들어 HTML 기반 이미지 데이터에서 일반적인 0~255 사이라면 데이터를 정규화해야 합니다.

x = x.div(255);

데이터가 준비되었으니 이제 model.predict()를 호출하여 예측을 만들 준비가 되었습니다. 다음 코드를 참고하세요.

 

코드 4-4 훈련된 합성곱 신경망을 추론에 사용하기

const testExamples = 100;
const examples = data.getTestData(testExamples);

tf.tidy(() => { ------ tf.tidy()를 사용해 WebGL의 메모리 누수를 피합니다.
  const output = model.predict(examples.xs);
  const axis = 1;
  const labels = Array.from(examples.labels.argMax(axis).dataSync());
  const predictions = Array.from(
    output.argMax(axis).dataSync()); ------ argMax()를 호출하여 가장 큰 확률을 가진 클래스를 얻습니다. 

  ui.showTestResults(examples, predictions, labels);
});
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.