Почему тензор потока удваивает значение one_hot на значениях?
У меня есть следующая тестовая программа на Python:
import tensorflow as tf
sess = tf.InteractiveSession()
# Some tensor we want to print the value of
a = tf.one_hot(1,5)
# Add print operation
a = tf.Print(a, [a], message = "This is a: ")
# Add more elements of the graph using a
b = tf.add(a, a)
b.eval()
Я вызываю функцию, которая должна создать красивое горячее кодирование. Я ожидаю, что на выходе:
array([0., 1., 0., 0., 0.], dtype=float32)
Но вместо этого вывод:
array([0., 2., 0., 0., 0.], dtype=float32)
Зачем?
1 ответ
Решение
Вы добавляете a
к себе, а затем распечатать дополнение. Так по существу... a= 1; print (a+a)
Очевидно, это не так, как написано, но я надеюсь, что 1+1 - это 2.