参考 tf.group()用于组合多个操作 - 云+社区 - 腾讯云
建一个对多个操作进行分组的op。
tf.group(
*inputs,
**kwargs
)
当这个op结束时,输入中的所有ops都结束了。这个op没有输出。
参数:
- *input: 0个或多个张量到组。
- name: 此操作的名称(可选)。
返回值:
- 执行所有输入的操作。
可能产生的异常:
ValueError
: If an unknown keyword argument is provided.
例:
在Cycle GAN中的多个训练节点:
generator_train_op = tf.train.AdamOptimizer(g_loss, ...)
discriminator_train_op = tf.train.AdamOptimizer(d_loss,...)
train_ops = tf.groups(generator_train_op ,discriminator_train_op)
with tf.Session() as sess:
sess.run(train_ops)
# 一旦运行了train_ops,那么里面的generator_train_op和discriminator_train_op都将被调用
注意的是,tf.group()返回的是个操作,而不是值,如果你想下面一样用,返回的将不是值
a = tf.Variable([5])
b = tf.Variable([6])
c = a+b
d = a*b
e = a/b
ops = tf.group(c,d,e)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
ee = sess.run(ops)
返回的将不是c,d,e的运算结果,而是一个None,就是因为这个是一个操作,而不是一个张量。