Как построить кривую точности в Tensorflow - PullRequest
1 голос
/ 14 марта 2019

Я следую этому руководству , чтобы создать простую сеть для классификации MNIST.Я хочу построить кривые потерь и точности для того же.Я видел этот пост и получил хорошую кривую потерь.Но я не могу понять, как сделать то же самое для точности.Я попытался следующий код в optimise function

session.run(optimizer, feed_dict=feed_dict_train)
if i % 100 == 0:
    loss=session.run(cost, feed_dict=feed_dict_train)
    acc = session.run(accuracy, feed_dict=feed_dict_train)
    loss_list.append(loss)
    acc_list.append(acc)
    plt.plot(loss_list,acc_list)

и получил ошибку

InvalidArgumentError: Вы должны передать значение для тензора-заполнителя 'y_true_cls' с dtype int64 и shape [?] [[node y_true_cls (определено в: 2)]]

По какой-то причине я не могу запустить accuracy внутри optimise function.Как получить кривую точности?

1 Ответ

1 голос
/ 14 марта 2019

y_true_cls Указывает, что вам нужно дать истинные метки классов. Из блога, который вы упомянули: -

feed_dict_test = {x: data.x_test,
                  y_true: data.y_test,
                  y_true_cls: data.y_test_cls}
def print_accuracy():
    # Use TensorFlow to compute the accuracy.
    acc = session.run(accuracy, feed_dict=feed_dict_test)

    # Print the accuracy.
    print("Accuracy on test-set: {0:.1%}".format(acc))

Как вы можете видеть, точность подается feed_dict_test с y_true_cls, который равен "True_Labels". Только с помощью предсказанных и истинных меток классов мы можем найти Точность.

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