ImageDataGenerator 훈련 및 검증 데이터 분할
ImageDataGenerator를 사용할 때 훈련 데이터를 훈련 및 검증으로 분할한다. Keras에는 기계 학습 프로젝트에서 모든 종류의 일반적인 작업을 수행하는 데 필요한 많은 필수 유틸리티 기능 및 클래스가 번들로 제공된다. 일반적으로 사용되는 클래스 중 하나는 ImageDataGenerator이다. 문서에 설명된 대로 실시간 데이터 증대를 통해 텐서 이미지 데이터 배치를 생성한다. 데이터는 일괄적으로 반복된다. 지금까지는 훈련 이미지 폴더와 검증 이미지 폴더를 별도로 유지해도 괜찮다. 예를 들어, flow_from_directory 함수와 함께 사용할 이미지에 대해 두 개의 별도 폴더 구조를 생성하여 훈련 및 검증 데이터 세트를 직접 구성해야 했다.
TRAIN_DIR = './datasets/training'
VALIDATION_DIR = './datasets/validation'
datagen = ImageDataGenerator(rescale=1./255)
train_generator = datagen.flow_from_directory(TRAIN_DIR)
val_generator = datagen.flow_from_directory(VALIDATION_DIR)
그러나 할당하려는 백분율을 지정하여 훈련 데이터의 하위 집합을 검증 세트로 무작위로 분할할 수 있는 ImageDataGenerator에 새로운 validation_split 매개 변수가 추가되었다.
datagen = ImageDataGenerator(validation_split=0.2, rescale=1./255)
그런 다음 flow_from_directory를 요청할 때 원하는 세트를 지정하는 하위 세트 매개변수를 전달한다.
train_generator = datagen.flow_from_directory(
TRAIN_DIR,
subset='training'
)
val_generator = datagen.flow_from_directory(
TRAIN_DIR,
subset='validation'
)
두 generator가 모두 TRAIN_DIR에서 로드된다는 점에 유의해야 한다. 유일한 차이점은 하나는 훈련 하위 집합을 사용하고 다른 하나는 검증 하위 집합을 사용한다는 것이다.
Split Train data into Training and Validation when using ImageDataGenerator in Keras
Split train data into training and validation when using ImageDataGenerator.
ibrahimgoke.medium.com
'Visual Intelligence > Image Deep Learning' 카테고리의 다른 글
[시각 지능] 합성곱 오토인코더 (Convolutional Autoencoder) (0) | 2023.05.03 |
---|---|
[시각 지능] Roboflow (0) | 2022.09.04 |
[시각 지능] TPU (Tensor Processing Unit) (0) | 2022.09.03 |
[시각 지능] Coffee Classification (0) | 2022.08.28 |
[시각 지능] COVID-19 Radiography (0) | 2022.08.27 |