이전 장에서 보았듯이 훈련 데이터와 추론 데이터 사이의 불일치를 피하기 위해 주의를 기울여야 합니다. 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);
});