2024. 3. 23. 11:23ㆍ딥러닝 모델: 파이토치
앞서 배운 CNN에 층을 더 추가하여 MNIST를 분류해보자
♣ 모델 이해하기
모델의 아키텍처는 총 5개의 층으로 구성된다. 앞서 배운 CNN 모델과 1번 레이어와 2번 레이어는 동일하고 새로운 합성곱층과 전결합층을 추가한다.
#1번 레이어(합성곱층)
합성곱(in_channel=1, out_channel=32, kernel_size=3, stride=1, padding=1) + 활성화 함수 ReLU + 맥스 풀링(kernel_size=2, stride=2)
#2번 레이어(합성곱층)
합성곱(in_channel=32, out_channel=64, kernel_size=3, stride=1, padding=1) + 활성화 함수 ReLU + 맥스풀링(kernel_size=2, stride=2)
#3번 레이어(합성곱층)
합성곱(in_channle=64, out_channel=128, kernel_size=3, stride=1, padding=1) + 활성화 함수 ReLU + 맥스풀링(kernel_size=2, stride=2, padding=1)
#4번 레이어(전결합층)
특성맵을 펼친다 #batch_size * 4 * 4 * 128 -> batch_size * 2048
전결합층(뉴런 625개) + 활성화 함수 ReLU
#5번 레이어(전결합층)
전결합층(뉴런 10개) + 활성화 함수 Softmax
♣ 깊은 CNN으로 MNIST 분류하기
1. 도구 import
2. 파라미터 설정
3. 데이터셋 정의하기
4. 데이터로더 만들기
5. 클래스로 모델 설계하기
6. 모델, 비용함수, 옵티마이저 정의하기
7. 총 배치의 수 출력하기
총 배치의 수는 600이다. batch_size=100으로 했으므로 훈련 데이터는 60,000개이다.
8. 모델 훈련시키기
9. 테스트하기
층을 더 깊게 쌓는다고 정확도가 무조건 올라가는 것은 아니다. 깊게 쌓는 것만이 아니라 효율적으로 쌓는 것이 중요하다.
'딥러닝 모델: 파이토치' 카테고리의 다른 글
Pytorch로 시작하는 딥러닝 입문(09-02. 텍스트 데이터의 정제와 정규화) (0) | 2024.03.26 |
---|---|
Pytorch로 시작하는 딥러닝 입문(09-01. 토큰화) (0) | 2024.03.25 |
Pytorch로 시작하는 딥러닝 입문(08-02. CNN으로 MNIST 분류하기) (0) | 2024.03.22 |
Pytorch로 시작하는 딥러닝 입문(08-01. 합성곱과 풀링/Convolution and Pooling) (0) | 2024.03.19 |
Pytorch로 시작하는 딥러닝 입문(07-01. 순환 신경망, 파이토치의 nn.RNN()) (0) | 2024.03.18 |