research notes

TDC 사용함수 정리 본문

딥러닝/Tensorflow Developer Certificate

TDC 사용함수 정리

forest62590 2022. 2. 2. 22:59
728x90

1. save_weights_only=True,

save_weights_only - True, False
True인 경우, 모델의 weights만 저장됨.
False인 경우, 모델 레이어 및 weights 모두 저장됨.

2. save_best_only=True,

save_best_only - True, False
True 인 경우, monitor 되고 있는 값을 기준으로 가장 좋은 값으로 모델이 저장됨.
False인 경우, 매 에폭마다 모델이 filepath{epoch}으로 저장된다. (model0, model1, model2....)

3. train_dataset와 valid_dataset을 만들고 80% : 20%로 분할합니다.

 

train_dataset = tfds.load('iris', split='train[:80%]')

valid_dataset = tfds.load('iris', split='train[80%:]')

 

4. ImageDataGenerator

 

training_datagen = ImageDataGenerator(rescale=1./255, rotation_range=40, width_shift_range=0.2, height_shift_range=0.2, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, fill_mode='nearest', validation_split=0.2)

 

training_generator = training_datagen.flow_from_directory(TRAINING_DIR, batch_size=32, target_size=(150, 150), class_mode='categorical', subset='training')

 

validation_generator = training_datagen.flow_from_directory(TRAINING_DIR, batch_size=32, target_size=(150, 150), class_mode='categorical', subset='validation', )

 

그런데 여기서 생각해봐야 할 것은, 위에서 현재 훈련데이터로부터 검증 데이터셋을 따로 디렉토리로 마련하지 않았다는 점이다. 이 경우 검증 데이터셋을 자동으로 준비해주는 validation_split 값을 ImageDataGenerator 생성 시에 적용하고, flow_from_directory를 쓸 때 subset 인자를 지정해서 해결할 수 있다. 그러면 validation_split 비율만큼의 검증데이터셋(subset='validation)과 훈련데이터셋(subset='training')을 사용할 수 있다.

 

References:

[1] https://hayunjong83.tistory.com/39

728x90
Comments