Извините за тупой вопрос. Я попытался запустить Учебник по классификации изображений из Tensorflow (https://www.tensorflow.org/tutorials/images/classification), и после обучения сети я попытался делать прогнозы.
Следуя инструкциям в Интернете, я нашел что мне пришлось изменить последний слой Dense(1)
до Dense(1, activation= 'sigmoid')
, но результаты не ограничивались от 0 до 1, но имели несколько тысяч положительных и отрицательных значений.
Где я ошибаюсь?
Спасибо.
Редактировать: это модель, которую я пытаюсь обучить
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'),
MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'),
MaxPooling2D(),
Flatten(),
Dense(512, activation='relu'),
Dense(1, activation = 'sigmoid')
])
И это результат прогноза:
img = Image.open("D:\\Downloads\\mask-datasets-v1\\Mask_Datasets\\Train\\Mask\\1.PNG").convert('RGB').resize(size=(IMG_HEIGHT,IMG_WIDTH))
img_array = (np.expand_dims(img,0))
img_array.shape
model.predict(img_array)
array([[-4602.1157]], dtype=float32)