#python #variables #tensorflow #gradient #hessian
#python #переменные #тензорный поток #градиент #мешанина
Вопрос:
начиная со следующего «graph_first»
graph_first = tf.Graph()
with graph_first.as_default():
v = tf.get_variable(name='v', shape=[2], dtype=tf.float64)
x = v[:1]
y = v[1:]
легко получить следующий ‘graph_unique’:
graph_unique = tf.Graph()
with graph_unique.as_default():
v = tf.get_variable(name='v', shape=[2], dtype=tf.float64)
x = v[:1]
y = v[1:]
c = tf.add(x, y, name='c')
gra = tf.gradients([c], [v])
Действительно, достаточно добавить переменные c и gra, чтобы
‘graph_first’ эквивалентно ‘graph_unique’. Предполагая приведенное выше определение,
with graph_first.as_default():
c = tf.add(x,y, name='c')
gra = tf.gradients([c], [v])
Предположим теперь, что нам нужно начать со следующего ‘graph_second’,
вместо:
graph_second = tf.Graph()
with graph_second.as_default():
x = tf.get_variable(name='x', shape=[1], dtype=tf.float64)
y = tf.get_variable(name='y', shape=[1], dtype=tf.float64)
c = tf.add(x, y, name='c')
gra = tf.gradients([c], [x,y])
Как мы можем восстановить график, эквивалентный ‘graph_unique’?
Другими словами: tf позволяет очень легко добавлять переменные ВНИЗ по потоку в график.
Возможно ли каким-либо образом добавить их также вверх по ТЕЧЕНИЮ?
Идея состоит в том, чтобы сделать все обучаемые переменные на графике зависимыми
на новой, единственной, большей, начальной.
Для меня было бы крайне важно, чтобы и gradient, и hessian работали правильно.
Большое спасибо!