#tensorflow #tensorboard
#tensorflow #tensorboard
Вопрос:
В техническом документе TensorFlow указано, что градиенты вычисляются по обратному пути с помощью правила цепочки. Я визуализировал учебник «https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_softmax.py » в Tensorboard и не смог выяснить, происходит ли это на самом деле. Если в визуализации Tensorboard есть ребро, могут ли данные передаваться в обоих направлениях? (обычно я ожидаю направленных ребер)
Ответ №1:
Внутри поля «GradientDescent» вы уже видели два поля «update_w» и «update_b», и вам интересно, почему стрелки указывают только на переменные, но не на них.
По сути, стрелки в tensorboard показывают зависимости, а не то, как перемещаются данные. Большую часть времени они похожи. Но это не похоже на simulink от matlab, если вы знакомы с ним. У вас не может быть циклов на графике.
Итак, стрелки говорят: вы не можете запускать «update_w», пока у вас не будет «w», «learning_rate» и «gradients».
«update_w» обновляет «w», просто нет стрелки, показывающей это.
Обновление также не выполняется в обратном направлении по стрелке. Рассмотрим:
x = tf.Variable(0,'x')
y = tf.Variable(1,'y')
set_x_eq_y =x.assign(y,name = 'set_x_eq_y')
Здесь на графике будет стрелка от «y» до «set_x_eq_y». Стрелка не касается «x».