Sequential 모델 컴파일하기
이번 연습 문제에서는 Sign Language MNIST 데이터셋의 문자를 분류하는 모델을 만들어 볼 거예요. 다만 이전 연습 문제와는 다른 네트워크 아키텍처를 사용할 거예요. 레이어 수는 더 적지만, 노드는 더 많습니다. 과적합을 막기 위해 드롭아웃도 적용할 거예요. 마지막으로 adam 옵티마이저와 categorical_crossentropy 손실을 사용하도록 모델을 컴파일합니다. 또 keras의 메서드를 사용해 모델 아키텍처 요약도 확인할 거예요. 참고로 keras는 tensorflow에서 임포트되어 있으며, 순차형 keras 모델이 model로 정의되어 있어요.
이 연습은 강의의 일부입니다
Python으로 시작하는 TensorFlow
연습 안내
- 첫 번째 Dense 레이어에서 노드 수를 16으로, 활성화 함수를
sigmoid로,input_shape를 (784,)로 설정하세요. - 첫 번째 레이어의 출력에 드롭아웃을 25% 비율로 적용하세요.
- 출력 레이어는 Dense로 설정하고, 노드 수를 4로 하며, 활성화 함수는
softmax를 사용하세요. - 옵티마이저는
adam, 손실 함수는categorical_crossentropy로 모델을 컴파일하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define the first dense layer
model.add(keras.layers.Dense(____, ____, ____))
# Apply dropout to the first layer's output
model.add(keras.layers.____(0.25))
# Define the output layer
____
# Compile the model
model.compile('____', loss='____')
# Print a model summary
print(model.summary())