더북(TheBook)

단, 이 모든 인자를 다 적용하면 불필요한 데이터를 만들게 되어 오히려 학습 시간이 늘어난다는 것에 주의해야 합니다. 주어진 데이터의 특성을 잘 파악한 후 이에 맞게 사용하는 것이 좋습니다. 우리는 좌우의 차이가 그다지 중요하지 않은 뇌 사진을 이용할 것이므로 수평으로 대칭시키는 horizontal_flip 인자를 사용하겠습니다. 그리고 width_shift, height_shift 인자를 이용해 조금씩 좌우로 수평 이동시킨 이미지도 만들어 사용하겠습니다. 참고로 데이터 부풀리기는 학습셋에만 적용하는 것이 좋습니다. 테스트셋은 실제 정보를 그대로 유지하게 하는 편이 과적합의 위험을 줄일 수 있기 때문입니다. 테스트셋은 다음과 같이 정규화만 진행해 줍니다.

test_datagen = ImageDataGenerator(rescale=1./255)

이미지 생성 옵션을 정하고 나면 실제 데이터가 있는 곳을 알려 주고 이미지를 불러오는 작업을 해야 합니다. 이를 위해 flow_from_directory() 함수를 사용하겠습니다.

train_generator = train_datagen.flow_from_directory(
    './data-ch20/train',   # 학습셋이 있는 폴더 위치
    target_size=(150,150), # 이미지 크기
    batch_size=5,
    class_mode='binary')   # 치매/정상 이진 분류이므로 바이너리 모드로 실행
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.