다음으로 모델이 효과적으로 구현될 수 있게 여러 가지 환경을 설정합니다.
코드 5-16 훈련에 사용될 환경 설정
model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])
이 예제에서 사용할 데이터셋은 캐글에서 제공하는 개와 고양이에 대한 이미지4입니다. 여기에서 제공하는 데이터가 많기 때문에 다음 예제에서는 일부 이미지만 사용합니다.
케라스에서는 이미지 데이터 학습을 돕는 다양한 패키지를 제공하는데, 그중 하나가 ImageDataGenerator 클래스입니다. ImageDataGenerator 클래스를 사용하여 객체를 생성할 때 파라미터를 전달해 줌으로써 데이터의 전처리를 쉽게 할 수 있습니다. 또 이 객체의 flow_from_directory 메서드를 활용하면 폴더 형태의 데이터 구조를 바로 가져와서 사용할 수 있는 장점이 있습니다.
4 이 데이터셋은 캐글에서 제공하는 개와 고양이 이미지입니다. 데이터셋은 고양이 1만 2501개, 개 1만 2501개로 구성되어 있습니다(https://www.kaggle.com/c/dogs-vs-cats).