트랜스퍼러닝 후 파인 튜닝하기
파일 튜닝이란?
트랜스퍼 러닝을 한 다음에 수행하는 방법이며 섬세한 튜닝이다
트랜스퍼러닝을 한 후에 조금 더 개선이 가능한지 추가로 해보는 방법이다
학습된 모델 그 상태에서 추가로 학습시키는데,
좋은 모델의 일부분을 학습 가능한 데이터로 변경 후 학습 시킨다
전 포스팅 [AI] 딥러닝 Transfer Learning으로 사진분류하는 인공지능 만들기(https://msdev-st.tistory.com/68)
에서 만든 인공지능 model 에 이어서 파일 튜닝하겠다
베이스 모델의 전체 레이어를 다시 학습 가능하도록 바꿔주고 전체 레이어 수 확인한다
레이어 갯수를 확인했으니 몇번째 레이어까지 학습이 안되도록 할 것인지 결정해 준다
model.summary()
>>> # 제일 아래 부분
====================================================
Total params: 4879681 (18.61 MB)
Trainable params: 2621697 (10.00 MB)
Non-trainable params: 2257984 (8.61 MB)
_____________________________________________________
# 1. base_model을 먼저 모두 학습 가능하도록 만들어 놓는다
base_model.trainable= True
# 2. base_model의 레이어 수를 확인한다
len(base_model.layers)
# 3. 몇번째 레이어까지 학습이 안되도록 할 것인지 결정한다
# 101 번째 레이어 부터 학습이 가능토록 하자
for layer in base_model.layers[ 0 : 100+1 ] :
layer.trainable = False
base_model.summary()
>>>
======================================
Total params: 2257984 (8.61 MB)
Trainable params: 1861440 (7.10 MB)
Non-trainable params: 396544 (1.51 MB)
_______________________________________
컴파일 후 학습 평가 하기
from keras.optimizers import Adam
model.compile(Adam(0.0001),'binary_crossentropy',['accuracy'] )
epoch_history2 = model.fit( train_generator, epochs= 5, validation_data= (test_generator) )
model.evaluate(test_generator)
'MACHINE | DEEP LEARNING > Deep Learning Project' 카테고리의 다른 글
[AI] 딥러닝 Transfer Learning으로 사진분류하는 인공지능 만들기 (0) | 2024.04.23 |
---|---|
[AI] 딥러닝 텐서플로우 CNN 이미지 분류 인공지능 만들기 (0) | 2024.04.19 |
[AI] 딥러닝 이미지증강 ImageDataGenerator _ 이미지 파일 학습데이터로 만들기 (0) | 2024.04.19 |
[AI] 딥러닝 파이썬으로 압축 파일 풀기 _zipfile (0) | 2024.04.18 |
[AI] 딥러닝 CNN 풀링 Pooling (Downsampling) (0) | 2024.04.18 |