코드 4-1 MNIST 데이터셋을 위한 합성곱 신경망 모델 정의하기
function createConvModel() {
const model = tf.sequential();
첫 번째 conv2d 층
model.add(tf.layers.conv2d({ inputShape: [IMAGE_H, IMAGE_W, 1], kernelSize: 3, filters: 16, activation: 'relu' }));
합성곱 층 다음에 오는 풀링 층
model.add(tf.layers.maxPooling2d({ poolSize: 2, strides: 2 }));
conv2d-maxPooling2d 패턴 반복하기
model.add(tf.layers.conv2d({ kernelSize: 3, filters: 32, activation: 'relu'}));
model.add(tf.layers.maxPooling2d({poolSize: 2, strides: 2}));
model.add(tf.layers.flatten()); ------ 밀집 층에 주입하기 위해 텐서를 펼치기
model.add(tf.layers.dense({
units: 64,
activation:'relu'
}));
model.add(tf.layers.dense({units: 10, activation: 'softmax'})); ------ 다중 분류 문제이므로 소프트맥스 활성화 함수 사용하기
model.summary(); ------ 모델 구조 출력하기
return model;
}