Paper: CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features
@misc{yun2019cutmix,
title={CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features},
author={Sangdoo Yun and Dongyoon Han and Seong Joon Oh and Sanghyuk Chun and Junsuk Choe and Youngjoon Yoo},
year={2019},
eprint={1905.04899},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
$ pip install cutmix-keras
# (some codes) ...
from cutmix_keras import CutMixImageDataGenerator # Import CutMix
train_datagen = ImageDataGenerator(
rescale=1./255,
)
train_generator1 = train_datagen.flow_from_dataframe(
dataframe=X_train,
directory=IMG_DIR,
target_size=(IMG_SIZE, IMG_SIZE),
x_col='X_Column',
y_col='Y_Column',
color_mode='rgb',
class_mode='categorical',
batch_size=BATCH_SIZE,
shuffle=True, # Required
)
train_generator2 = train_datagen.flow_from_dataframe(
dataframe=X_train,
directory=IMG_DIR,
target_size=(IMG_SIZE, IMG_SIZE),
x_col='X_Column',
y_col='Y_Column',
color_mode='rgb',
class_mode='categorical',
batch_size=BATCH_SIZE,
shuffle=True, # Required
)
# !! Define CutMixImageDataGenerator !!
train_generator = CutMixImageDataGenerator(
generator1=train_generator1,
generator2=train_generator2,
img_size=IMG_SIZE,
batch_size=BATCH_SIZE,
)
# (some codes) ...
history = model.fit_generator(
generator=train_generator,
steps_per_epoch=train_generator.get_steps_per_epoch(),
# (some parameters) ...
)
Link: [KaKR_2019_3rd] CutMix, Ensemble (Keras)
generator1
,generator2
need same generator appliedflow
method
generator1
,generator2
needshuffle=True
Ifshuffle=False
, This generator cutmix with same images.
So there would no augmentation
- Why are there two same generators? (
generator1
,generator2
)
--> To Solve Reference Problem