Добавление переменных вверх по течению для вычисления матрицы мешанины

#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 работали правильно.

Большое спасибо!