прогнозирование тензорного потока на тестовом наборе данных - PullRequest
0 голосов
/ 01 мая 2018

У меня проблемы с печатью prediction на test data.

Может ли кто-нибудь помочь мне заполнить ввод в sess.run на шаге вывода Спасибо!

def nn_model(data):  
    convnet = conv_2d(in_data, 32, 3, padding='same', activation='relu')  
    convnet = max_pool_2d(convnet, 2)  

logits = nn_model(next_element)  
prediction = tf.argmax(logits, 1)  

with tf.Session() as sess:  
    sess.run(init_op)  
    sess.run(training_init_op)  
    for i in range(epochs):  
        l, _, acc = sess.run([loss, optimizer, accuracy])  

output = sess.run(prediction, ***{logits:nn_model(test_data)}***)
output = np.argmax(output)
print("The prediction for test is :", output)

1 Ответ

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

На этой строке:

output = sess.run(prediction, ***{logits:nn_model(test_data)}***)

Вы, похоже, пытаетесь передать свои тестовые данные (предположительно в формате numpy) на ваш logits. logits - это традиционно название вывода вашей модели, что весьма запутанно. В вашей функции nn_model вы должны возвращать как логиты (выходные данные модели), так и заполнители для вашего ввода. Обычно у вас есть что-то вроде этого:

x = tf.placeholder(tf.float32, shape=(None, 1024))
labels = tf.placeholder(tf.float32, shape=(None,))

Теперь ваш вывод выглядит примерно так:

output = sess.run(logits, feed_dict={x:test_data, y:test_labels}

В случае тестовых данных вам может не потребоваться передавать метки, но если вы хотите рассчитать точность, они вам понадобятся, вы решите в зависимости от ваших потребностей.

Вот несколько действительно хороших примеров, которым вы можете следовать:

https://github.com/aymericdamien/TensorFlow-Examples

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