코드 5-20 라이브러리 호출 및 ResNet50 내려받기
import tensorflow_hub as hub
model = tf.keras.Sequential([
hub.KerasLayer("https://tfhub.dev/google/imagenet/resnet_v2_152/feature_vector/4",
input_shape=(224,224,3),
trainable=False),
tf.keras.layers.Dense(2, activation='softmax') ------ 사전 훈련된 모델을 가져와서 밀집층(완전연결층)을 추가
])
훈련과 검증 데이터셋을 충분히 확보하기 위해 ImageDataGenerator를 사용하여 데이터를 확장합니다.
코드 5-21 데이터 확장
train = ImageDataGenerator(
rescale=1./255,
rotation_range=10,
width_shift_range=0.1,
height_shift_range=0.1,
shear_range=0.1,
zoom_range=0.1)
train_generator = train.flow_from_directory(train_dir,
target_size=(image_height, image_width),
color_mode="rgb",
batch_size=BATCH_SIZE,
seed=1,
shuffle=True,
class_mode="categorical")
valid = ImageDataGenerator(rescale=1.0/255.0)
valid_generator = valid.flow_from_directory(valid_dir,
target_size=(image_height, image_width),
color_mode="rgb",
batch_size=BATCH_SIZE,
seed=7,
shuffle=True,
class_mode="categorical")
model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])