Создать список прогнозов

Есть ли способ вывода прогнозов сети с помощью Tensorflow?

Мои выходы использовали одно горячее представление для 12 классов.

[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0]
etc...

При попытке получить прогнозы из моей модели для заданного ввода я выполнил следующий код

    prediction=tf.argmax(y,1)
    best = sess.run([prediction],feed_dict = {x: batch_x, y: batch_y,
                                  seqlen: batch_seqlen})
    print("Prediction: ")
    print(best)

Когда я запустил этот код и распечатал прогноз, я получил следующий результат:

[array([1, 5, 7, 7, 7, 4, 7, 9, 4, 4, 9, 6, 7, 8, 3, 2], dtype=int64)]

размер моего пакета, который я ввел, был 16, поэтому было разумно иметь 16 выходов. Однако ни одно из них не является представлением One Hot (не уверен, что выходные данные tenorflow предназначены для взаимодействия как индексы, поэтому 1 на самом деле будет некоторой формой onehot

Есть ли способ для каждого конкретного X создать ранжированный список прогнозов, которые модель считает наиболее вероятными с учетом этого X?

Имеет ли это смысл?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
4
0
82
1

Ответы 1

Вы берете tf.argmax из 1-горячих векторов, поэтому вы видите индексы вместо ожидаемых 1-горячих векторов.

Чтобы получить отсортированный список предсказаний класса, вы можете взять свой вектор предсказания и применить values, indices = tf.nn.top_k(prediction), values будет вашими предсказаниями, отсортированными в порядке убывания, а indices будет теми отсортированными индексами values '.

Другие вопросы по теме