Я пытаюсь следовать Учебному руководству по классификации изображений , но, к сожалению, он не говорит вам, как использовать модель после того, как вы ее создали.
Код, который я использую для создания модель:
model = Sequential([
tf.keras.layers.Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_SIZE, IMG_SIZE ,3)),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Dropout(0.1),
tf.keras.layers.Conv2D(32, 3, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(64, 3, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Dropout(0.1),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam',
loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
metrics=['accuracy'])
В моей первой попытке у меня не было activation='sigmoid'
на последнем плотном слое, но тогда прогнозы, которые я получаю от модели, например, [[332.9539]]
, чего я не делаю. Я не знаю, как интерпретировать.
После того, как я прочитал этот ответ, я добавил активацию сигмоида, чтобы получить значение от 0 до 1, но, к сожалению, при обучении модели точность застряла на 0,5, в то время как он работал раньше.
Что я делаю не так?