Оценка вероятности вывода с помощью керас с использованием model.predict () - PullRequest
0 голосов
/ 01 мая 2018

У меня есть модель cnn для классификации изображений, которая использует функцию активации сигмоида в качестве последнего слоя

    from keras import layers
    from keras import models
    model = models.Sequential()
    model.add(layers.Conv2D(32, (3, 3), activation='relu',
                    input_shape=(1500, 1500, 3)))
    ..........
    model.add(layers.Dense(1, activation='sigmoid'))

Изображения принадлежат двум классам. Когда я использую model.predict() на изображении, я получаю 0 или 1. Однако я хочу получить оценку вероятности, например 0,656, например, когда я использую model.predict_generator(), она выводит эти оценки. Однако predict_generator требует, чтобы изображения помещались в папки, идентифицирующие их классы, поэтому он имеет значение только для проверки и тестирования. Я хочу вывести этот счет для нового неизвестного изображения или изображений. Как я могу это сделать?

1 Ответ

0 голосов
/ 01 мая 2018

Я не уверен, что это проблема с версией, но я получаю оценки вероятности.

Я использовал фиктивную сеть для проверки вывода:

from keras import layers
from keras import models
from keras import __version__ as used_keras_version
import numpy as np


model = models.Sequential()
model.add(layers.Dense(5, activation='sigmoid', input_shape=(1,)))
model.add(layers.Dense(1, activation='sigmoid'))
print((model.predict(np.random.rand(10))))
print('Keras version used: {}'.format(used_keras_version))

Возвращает к следующему выводу:

[[0.252406  ]
 [0.25795603]
 [0.25083578]
 [0.24871194]
 [0.24901393]
 [0.2602583 ]
 [0.25237608]
 [0.25030616]
 [0.24940264]
 [0.25713784]]
Keras version used: 2.1.4

Действительно странно, что вы получаете только двоичный вывод 0 и 1. Тем более, что сигмовидный слой действительно возвращает значения с плавающей точкой.

Надеюсь, это поможет как-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...