上游Addin变量以计算粗麻布矩阵

时间:2019-03-15 06:06:18

标签: python variables tensorflow gradient hessian

从以下“ 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允许非常轻松地在图形中向下添加变量。 是否可以通过某种方式将它们也添加到UPSTREAM中? 这个想法是使图中的所有可训练变量成为从属变量 在新的,单一的,更大的初始产品上。 对我来说至关重要的是,渐变和粗麻布都可以正常工作。

非常感谢!

0 个答案:

没有答案