출력층 등을 변경한 모델을 학습된 모델을 기반으로 구축한 후, 직접 준비한 데이터로 신경망 모델의 결합 파라미터 학습
결합 파라미터의 초깃값은 학습된 모델의 파라미터 사용한다. 전이학습과 달리 파라미터 재학습한다.
fine tuning 은 트랜스퍼 러닝을 한 상태에서 수행하는 방법이다
base_model.trainable = True
베이스 모델의 전체 레이어를 학습 가능토록 먼저 바꿔준다.
end_layer = 100
for layer in base_model.layers[0: end_layer]:
layer.trainable = False
베이스모델의 첫번째 레이어부터, 우리가 정한 레이어까지는 학습이 안되도록 설정해준다.
이후 컴파일과 fit을 통해 훈련하면 된다.
'인공지능 > 텐서플로우' 카테고리의 다른 글
에포크시 콜백함수 ModelCheckpoint CSVLogger 사용방법 (0) | 2022.06.16 |
---|---|
Transfer Learning을 하기 위한 코드와 설명 (0) | 2022.06.16 |
파일을, training과 test 디렉토리로 나눠서 저장하는 방법 (0) | 2022.06.15 |
ImageDataGenerator를 이용해서 데이터 증강 하는 방법 (0) | 2022.06.15 |
이미지 파일을, 학습데이터로 만드는 방법 (텐서플로우의 ImageDataGenerator) (0) | 2022.06.15 |