从以下“ 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中? 这个想法是使图中的所有可训练变量成为从属变量 在新的,单一的,更大的初始产品上。 对我来说至关重要的是,渐变和粗麻布都可以正常工作。
非常感谢!