패션데이터를 불러와 train, test 데이터로 나눠준후
.shape로 크기확인
답데이터 인코딩
model1 : 활성화함수에 sigmoid / 최적화 함수에 SGD
model2 : 활성화함수에 relu / 최적화 함수에 softmax
model3 : 활성화함수에 relu / 최적화 함수에 adam
- model2가 학습이 제대로 되지 않은 것은 우리의 데이터에 비해
활성화함수와 최적화함수가 맞지 않아 learning rate가 데이터에 비해
크게 잡혔기 때문 (최적값으로 수렴하는게 아니라 오히려 발산해서 학습이 불가능해짐 >> loss : nan 뜨는 것을 보고 추론해볼 수 있음 )
- 최적화함수의 learning rate(학습률)을 낮춰서 안정적으로 학습을 시도해보면 됨
EarlyStopping : 조기 학습 중단 기능
ModelCheckPoint : 모델 저장
1. 모델 저장
# 저장 경로 및 파일명 형태를 설정
save_path = '/content/drive/MyDrive/Colab Notebooks/model/FashionModel_{epoch:03d}_{val_acc:.4f}.hdf5'
# d(digit) : 10진수 형태, 03 -> 0이 3개 붙어있는 형태의 자리수(001,002,003 ...)
# f(float) : 실수(소수점) 형태 .4 -> 소수점 4자리 까지 형태의 자리수(0.001,0.002,0.003 ...)
# hdf5 : 모델이 저장되는 파일의 확장자명
f_mckp = ModelCheckpoint(filepath = save_path,
monitor = 'val_acc',
save_best_only = True,
mode = 'max',
verbose = 1 )
2. 조기 학습 중단
f_early = EarlyStopping(monitor = 'val_acc', patience = 3)
# 모델 학습시 val_acc가 3번의 epoch를 돌 동안 값이 개선되지 않으면 학습을 중단
callbacks를 이용해 최적화모델 확인을 위한 모델 체크포인트와 조기중단학습 설정
epochs가 50이었지만 중단됨
'Deep Learning > keras' 카테고리의 다른 글
사람 얼굴 데이터 분류 실습 [ 이미지 / 이진분류 ] (0) | 2022.09.15 |
---|---|
패션데이터 분류 실습 [ 이미지 / 다중분류 ] (0) | 2022.09.08 |
손글씨 숫자데이터 분류 실습 [ 이미지 / 다중분류 ] (0) | 2022.09.07 |
Iris 데이터 품종 분류 실습 [ 다중 분류 ] (0) | 2022.09.06 |
유방암데이터 이진분류 실습 (0) | 2022.09.05 |