본문 바로가기
Visual Intelligence/Image Deep Learning

ImageDataGenerator 훈련 및 검증 데이터 분할

by goatlab 2023. 9. 6.
728x90
반응형
SMALL

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에서 로드된다는 점에 유의해야 한다. 유일한 차이점은 하나는 훈련 하위 집합을 사용하고 다른 하나는 검증 하위 집합을 사용한다는 것이다.

 

https://ibrahimgoke.medium.com/split-train-data-into-training-and-validation-when-using-imagedatagenerator-in-keras-ffdc88bbf6f3

 

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

 

728x90
반응형
LIST