from tensorflow.keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale = 1 / 255.0)
validation_datagen = ImageDataGenerator(rescale = 1 / 255.0)
train_generator = train_datagen.flow_from_directory('/tmp/horse-or-human', target_size = (300, 300), class_mode = 'binary')
validation_generator = validation_datagen.flow_from_directory('/tmp/validation-horse-or-human', target_size = (300,300), class_mode = 'binary')
epoch_history = model.fit(train_generator, epochs = 20, validation_data = (validation_generator))
학습시킬 데이터는 넘파이 어레이 인데, 현재 우리는 png 파일로만 준비가 되어있다. 따라서 이미지파일을 넘파이로 바꿔주는 라이브러리를, 텐서플로우가 제공해준다.
ImageDataGenerator를 import 하고 rescale 에다 1 / 255.0을 대입한다. 0 ~ 255 로 표현된 rgb값을 0 ~ 1로 만들기 위해서다.
변수로 만들어 줬으면, 그다음 할일은, 이미지가 들어있는 디렉토리의 정보, 이미지 사이즈 정보, 분류할 갯수 정보를 알려줘야 한다. 이것들을 flow_from_dirctory에 대입해 준다.
아래 train_generater는, 넘파이어레이와, 해당 이미지의 정답지도 가지고 있는 변수다. 즉, X_train과 y_train을 모두 한꺼번에 가지고 있다! fit에 학습데이터로 넣어 준뒤 validation_data에는 (validation_generator)를 대입해서 테스트한다.
'인공지능 > 텐서플로우' 카테고리의 다른 글
파일을, training과 test 디렉토리로 나눠서 저장하는 방법 (0) | 2022.06.15 |
---|---|
ImageDataGenerator를 이용해서 데이터 증강 하는 방법 (0) | 2022.06.15 |
파이썬으로 압축파일 푸는 방법 (0) | 2022.06.15 |
구글 코랩에서, 인터넷에 있는 파일을 다운로드 하는 방법 (0) | 2022.06.15 |
이미지가 주어졌을 때, 컨볼루션한 결과로 나오는, feature map의 사이즈를 구하는 공식 (0) | 2022.06.14 |