저는 바벨을 탐지하는 모델을 만들고 싶어서 바벨 사진과 없는 사진으로 학습시켰습니당
강의대로 모델학습하고,
테스트할 데이터를 전처리하고,
img = Image.open('/content/drive/MyDrive/evaluate/stst.jpg')
img = img.resize((256, 256))
img_array = np.array(img) / 255.0
img_array = np.expand_dims(img_array, axis=0)
모델 예측했는데
model.predict(img_array)
바벨있는 사진과 없는 사진이 결과가 비슷해요..
있는 사진은 1, 없는 사진은 0에 가깝게 나와야 되는 게 맞죠?
심지어 어떤 사진은 바벨이 있는데도 오히려 더 0에 가깝게 나옵니다..
뭐가 문제일까요?
train = tf.keras.preprocessing.image_dataset_from_directory(
'/content/drive/MyDrive/barpath',
image_size=(256,256),
batch_size=32,
subset='training',
validation_split=0.2,
seed=1234
)
val = tf.keras.preprocessing.image_dataset_from_directory(
'/content/drive/MyDrive/barpath',
image_size=(256,256),
batch_size=32,
subset='validation',
validation_split=0.2,
seed=1234
)
from tensorflow.keras.callbacks import EarlyStopping
es = EarlyStopping(monitor='val_accuracy', patience=6, mode='max')
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc'])
model.fit(train, validation_data=val, epochs=10, callbacks=[es])