아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다.
'부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다.
댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다.
감사합니다.
ImageDataGenerator 사용하기
ImageDataGenerator() 함수는 주어진 데이터를 이용해 변형된 이미지를 만들어 학습셋에 포함 시키는 기능을 제공한다.
이미지 데이터의 수를 확장할 때 효과적으로 사용 가능하다.
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale = 1.// 255,
horizontal_flip = True,
vertical_flip = True,
width_shift_range = 0.1,
height_shift_range = 0.1,
rotation_range = 5,
shear_range = 0.7,
zoom_range = 1.2,
fill_mode = 'nearest')
- rescale : 주어진 이미지 크기 변환, 0~255의 RGB 값을 255로 나누면 0~1의 값으로 변환됨
- horizontal_flip, vertical_flip : 주어진 이미지를 수평 또는 수직으로 뒤집기
- width_shift, height_shift : 정해진 범위 안에서 그림을 수평 또는 수직으로 랜덤하게 평행 이동
- rotation_range : 정해진 각도만큼 이미지 회전
- shear_range : 좌표 하나를 고정시키고 다른 몇개의 좌표를 이동시키는 변환
- zoom_range : 정해진 범위 안에서 축소 또는 확대
- fill_mode : 이미지를 축소 또는 화전, 이동할 때 생기는 빈 공간 채우기 결정, nearest 옵션은 가장 비슷한 색으로 채워짐
ImageDataGenerator의 모든 인자를 다 적용하면 불필요한 데이터를 만들게 되어 오히려 학습시간이 늘어날 수 있다.
데이터의 특성을 잘 파악한 후 이에 맞게 사용하는 것이 좋다.
REFERENCE
tf.keras.preprocessing.image.ImageDataGenerator | TensorFlow v2.11.0
Generate batches of tensor image data with real-time data augmentation.
www.tensorflow.org
'ML & DL > Deep Learning' 카테고리의 다른 글
[DL] Keras fit vs fit_generator (0) | 2023.02.14 |
---|---|
[DL] PyTorch로 인공신경망(ANN) 구현하기 (0) | 2023.01.11 |
댓글