- Model Checkpoint
from tensorflow.keras.callbacks import ModelCheckpoint, Earlystopping
1. es = EarlyStopping(monitor='val_loss',
min_delta=0,
patience=3,
verbose=1,
restore_best_weights=True)
2. mcp = ModelCheckpoint(filepath='/content/model1.h5',
monitor='val_loss',
verbose=1,
save_best_only=True,
save_weights_only=False)
3. model.fit(flow_trainIDG, verbose=1, epochs=1000, validation_data=flow_valIDG,
callbacks = [es, mcp])
4. model 평가 완료
5. model 저장
model.save('my_first_save.h5')
6. model 불러오기
clear_session()
model = keras.models.load_model('my_first_save.h5')
model = keras.models.load_model('/content/model1.h5')
model.summary()
- 1. 드라이브 연결
from google.colab import drive
drive.mount('/content/drive')
- 2. 이미지 augmentation
from tensorflow.keras.preprocessing.image import ImageDataGenerator
train_idg = ImageDataGenerator(rotation_range=25,
shear_range=0.1,
zoom_range=0.1,
horizontal_flip=True,
vertical_flip=True,
width_shift_range=0.1,
height_shift_range=0.1,
)
val_idg = ImageDataGenerator()
- 3. 드라이브에 있는 데이터 flow
flow_dir_trainIDG = train_idg.flow_from_directory('/content/drive/MyDrive/my_data/my_mnist2',
save_to_dir='/content/drive/MyDrive/my_data/temp/',
save_prefix='train',
save_format='jpg',
target_size=(28,28),
color_mode='grayscale',
class_mode='categorical'
)
flow_dir_valIDG = val_idg.flow_from_directory('/content/drive/MyDrive/my_data/my_mnist2',
save_to_dir='/content/drive/MyDrive/my_data/temp/',
save_prefix='val',
save_format='jpg',
target_size=(28,28),
color_mode='grayscale',
class_mode='categorical'
)
- 4. 저장된 model load
clear_session()
model = keras.models.load_model('/content/model1.h5')
model.summary()
- 5. model 학습
model.fit(flow_dir_trainIDG, validation_data=flow_dir_valIDG,
epochs=100, verbose=1, callbacks=[es])