728x90
텐서플로우 케라스 이미지 데이터 증강 관련 API는
https://keras.ip/api/preprocessing/image/
여기를 참고한다.
사용하는 파라미터들을 사진으로 몇 가지 표현 하면 아래 사진들과 같다.
파라미터 사용은 위 사진과같이 사용한다.
실제 사용 코드
def build_model() :
model = Sequential()
model.add(Conv2D(16,(3,3),activation='relu',input_shape=(150,150,3)))
model.add(MaxPooling2D((2,2),2))
model.add(Conv2D(32,(3,3),activation='relu'))
model.add(MaxPooling2D((2,2),2))
model.add(Conv2D(64,(3,3),activation='relu'))
model.add(MaxPooling2D((2,2),2)) ## CNN
model.add(Flatten())
model.add(Dense(512,'relu'))
model.add(Dense(1,'sigmoid'))
model.compile('rmsprop','binary_crossentropy',['accuracy']) # ANN
return model
모델링 이후
# 이미지 데이터를 증강하여 학습을 시키자.
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1/255.0,rotation_range=30,
width_shift_range=0.4,
height_shift_range=0.2,
shear_range=0.3,
zoom_range=0.5,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1/255.0) # 테스트용 데이터는 증강하지 않는다.
'인공지능 > 딥러닝' 카테고리의 다른 글
딥 러닝 : Transfer Learning ( MobileNetV2 ) (0) | 2023.01.02 |
---|---|
딥러닝 : 원본 파일을 Train / Test 파일로 분리하여 사용하는 방법과 디렉토리를 만드는 방법 (0) | 2022.12.30 |
딥러닝 : CNN 말과 사람 분류하기 / CNN모델링 방법 , 이미지파일을 학습 데이터로 만드는 방법(ImageDataGenerator) (0) | 2022.12.30 |
CNN의 convolution,Stride,Padding,Pooling / feature map의 사이즈를 구하는 공식 (0) | 2022.12.29 |
딥러닝 : 레이블링된 y값을 원핫 인코딩으로 바꾸기 tf.keras.utils.to_categorical() / Mnist 손글씨 숫자 예측 (0) | 2022.12.29 |