728x90
파인 튜닝 : 섬세한 튜닝
이전 게시글인
https://hyunsungstory.tistory.com/173
의 데이터로 진행합니다.
이 방법은 꼭!!! 트랜스퍼 러닝을 한 다음에 수행하는 방법이다. 위의 트랜스퍼 러닝을 한 후에 조금 더 개선이 가능한지 해보는 방법으로서 위에서 학습한 모델을 가지고 그 상태에서 추가로 학습을 시키는 것!
단, 좋은 모델의 일부분을 우리 데이터로 학습가능하도록 변경한 후에 학습시킨다.
1. 일단은 베이스 모델의 전체 레이어를 다시 학습가능토록 먼저 바꿔준다.
base_model.trainable = True
2. 베이스모델의 전체 레이어 수를 확인한다.
len(base_model.layers)
3. 위에서 레이어 갯수를 확인했으니 몇 번째 레이어까지 학습이 안 되도록 할 것인지 결정해준다.
end_layer = 100
for layer in base_model.layers[:end_layer+1] :
layer.trainable = False
4. Compile 과정
model.compile(Adam(0.0001),'binary_crossentropy',['accuracy'])
epoch_history2 = model.fit(train_generator,epochs=5,validation_data=(test_generator))
이전 게시글과 비교했을 때 더 개선되지 않았음을 확인할 수 있었습니다.
다음 포스팅에는 에포크 시마다 가장 좋은 모델을 저장하는 ModelCheckpoint로 돌아오겠습니다.
'인공지능 > 딥러닝' 카테고리의 다른 글
딥러닝 : Prophet 라이브러리를 이용한 Time Series 데이터 예측 (0) | 2023.01.02 |
---|---|
딥러닝 : 에포크 시마다 가장 좋은 모델을 저장하는 ModelCheckpoint와 기록을 남기는 CSVLogger 사용법 (0) | 2023.01.02 |
딥 러닝 : Transfer Learning ( MobileNetV2 ) (0) | 2023.01.02 |
딥러닝 : 원본 파일을 Train / Test 파일로 분리하여 사용하는 방법과 디렉토리를 만드는 방법 (0) | 2022.12.30 |
딥러닝 : 이미지 데이터 증강 / Image Augmentation (0) | 2022.12.30 |