эта модель неверна для классификации малярийных бактерий как паразитированных или неинфицированных? - PullRequest
0 голосов
/ 15 апреля 2019

Модель выдает либо паразитированные, либо незараженные для всех тестовых изображений вместо правильного класса.

Я уже пробовал использовать разные оптимизаторы и функции потерь.

model = tf.keras.models.Sequential([
    tf.keras.layers.Conv2D(64, (3, 3), input_shape=x.shape[1:], activation='relu'),
    tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
    tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
    tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
    tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
    tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(512, activation='relu'),
    tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"])
model.fit(x, y, epochs=10, batch_size=32)

Ожидаемый результат: Предсказать паразитированный или незараженный образец для данного изображения.

Фактический результат: Прогнозирование всегда одного и того же класса.Либо все изображения как паразитированные, либо все изображения как незараженные.

1 Ответ

0 голосов
/ 15 апреля 2019
tf.keras.layers.Dense(1, activation='sigmoid')

здесь ваш номер класса только один, так как это двоичная классификация, поэтому ваш код должен быть таким tf.keras.layers.Dense(2, activation='softmax') я надеюсь, что это поможет вам удачи:

...