tf.keras.preprocessing.image.ImageDataGenerator
이미지 데이터를 읽고 신경망에 적합한 입력이 되도록 가공시켜주는 클래스
- 사진 파일을 읽음
- JPEG 콘텐츠를 RGB 픽셀값으로 디코딩
- 그다음 부동 소수 타입의 텐서로 변환함
- 픽셀값(0에서 255 사이)의 스케일을 [0, 1] 사이로 조정함(신경망은 작은 입력값을 선호함)
ImageDataGenerator
# 케라스로 ImageDataGenerator 클래스 함수를 실행하고
# rescale 옵션을 지정해 이미지 각 픽셀의 값을 0~1로 정규화한다.
# 생성된 제너레이터 객체를 image_gen 변수에 할당한다.
image_gen = ImageDataGenerator(rescale = (1/255.))
image_gen
flow_from_directory 함수
# flow_from_directory 함수로 폴더에서 이미지를 가져와 제너레이터 객체로 정리
train_dir = './dataset/cat_and_dog/training_set'
valid_dir = './dataset/cat_and_dog/test_set'
train_gen = image_gen.flow_from_directory(train_dir,
batch_size = 32,
target_size = ['cats', 'dogs'],
classes = ['cats', 'dogs'],
class_mode = 'binary',
seed = 2020
)
valid_gen = image.gen.flow_from_directory(valid_dir,
batch_size = 32,
target_size = (224, 224),
classes = ['cats', 'dogs'],
class_mode = 'binary',
seed = 2020)
CNN 모델 구현 ver2.0 - 데이터 증강
이미지 데이터 제너레이터 정의(Augmentation 적용)
image_gen_aug = ImageDataGenerator(rescale = 1/255,
horizontal_flip = True,
rotation_range = 30,
shear_range = 0.15,
zoom_range = 0.3)
'머신러닝 및 딥러닝 > 딥러닝' 카테고리의 다른 글
순환신경망(RNN) (0) | 2023.02.27 |
---|---|
객체탐지와 합성곱 신경망 (0) | 2023.02.27 |
전이학습 이론 (0) | 2023.02.23 |
합성곱 신경망 이론 (0) | 2023.02.22 |
딥러닝 실습(모델세부설정) (0) | 2023.02.22 |