例如:
for s in xrange(2):
with tf.name_scope('myscope_%d % s) as scope:
some ops
result = a op
然后我想将 myscope_0/result
、myscope_1/result
分组在一起,如下所示:
allops = tf.group(myscope_0/result, myscope_1/result)
怎么做?上面的行不正确。
最佳答案
你可以这样做:
graph = tf.get_default_graph()
var = tf.Variable(0)
for s in xrange(2):
with tf.name_scope('myscope_%d' % s):
op = var.assign_add(s + 1)
all_operations = [graph.get_operation_by_name('myscope_%d/AssignAdd' % s) for s in range(2)]
all_op = tf.group(*all_operations)
在这里,我将变量 var
的更新操作组合在一起(第一个将其递增 1
,第二个将递增 2
)。
你可以测试一下:
sess = tf.Session()
sess.run(tf.initialize_all_variables())
print sess.run(var) # prints 0
sess.run(all_op)
print sess.run(var) # prints 3
关于 tensorflow 如何对来自不同名称范围的操作进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38045592/