На этой строке:
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