Данные форматирования Tensorflow для tf.confusion_matrix - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть данные сегментации изображения, где данные помечены без класса фона (пустые пиксели), а данные имеют горячее кодирование. Ie. метки и логиты имеют форму (256,256,3), где 3 класса являются взаимоисключающими и не содержат фоновый класс.

Когда я использую tf.argmax, а затем сглаживаю данные с помощью tf.reshape, матрица путаницы вывод накапливает фон void как номер класса 1.

код:

lab = tf.placeholder(tf.int32, shape=(256, 256, 3))
pred = tf.placeholder(tf.int32, shape=(256, 256, 3))

lab_ = tf.argmax(lab, axis=2)
pred_ = tf.argmax(pred, axis=2)

lab_ = tf.reshape(lab_, [-1])
pred_ = tf.reshape(pred_, [-1])

con = tf.math.confusion_matrix(labels=lab_, predictions=pred_, num_classes=3)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    conf = sess.run([con], feed_dict={lab: label_input, pred: logit_input})
    print(conf)

вывод матрицы путаницы:

[[61048,    11,   608],
 [    0,     0,     0],
 [  742,     4,  3123]]

Как можно избежать использования меток void (background) включены в матрицу?

Как использовать функции тензорного потока для форматирования данных, чтобы избежать этой проблемы, и как настроить аргумент весов tf.confusion_matrix для решения этой проблемы?

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