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