Почему тензор потока удваивает значение 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.

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