tf.control_dependencies()作用及用法
2017-06-20 15:33
459 查看
在有些机器学习程序中我们想要指定某些操作执行的依赖关系,这时我们可以使用
可以嵌套
可以传入
注意:
控制依赖只对那些在上下文环境中建立的操作有效,仅仅在context中使用一个操作或张量是没用的
例子:
在训练模型时我们每步训练可能要执行两种操作,
在这样简单的要求下,可以将上面代码替换为:
tf.control_dependencies()来实现。
control_dependencies(control_inputs)返回一个控制依赖的上下文管理器,使用
with关键字可以让在这个上下文环境中的操作都在
control_inputs执行。
with g.control_dependencies([a, b, c]): # `d` and `e` will only run after `a`, `b`, and `c` have executed. d = ... e = ...
可以嵌套
control_dependencies使用
with g.control_dependencies([a, b]): # Ops constructed here run after `a` and `b`. with g.control_dependencies([c, d]): # Ops constructed here run after `a`, `b`, `c`, and `d`.
可以传入
None来消除依赖:
with g.control_dependencies([a, b]): # Ops constructed here run after `a` and `b`. with g.control_dependencies(None): # Ops constructed here run normally, not waiting for either `a` or `b`. with g.control_dependencies([c, d]): # Ops constructed here run after `c` and `d`, also not waiting # for either `a` or `b`.
注意:
控制依赖只对那些在上下文环境中建立的操作有效,仅仅在context中使用一个操作或张量是没用的
# WRONG def my_func(pred, tensor): t = tf.matmul(tensor, tensor) with tf.control_dependencies([pred]): # The matmul op is created outside the context, so no control # dependency will be added. return t # RIGHT def my_func(pred, tensor): with tf.control_dependencies([pred]): # The matmul op is created in the context, so a control dependency # will be added. return tf.matmul(tensor, tensor)
例子:
在训练模型时我们每步训练可能要执行两种操作,
op a, b这时我们就可以使用如下代码:
with tf.control_dependencies([a, b]): c= tf.no_op(name='train')#tf.no_op;什么也不做 sess.run(c)
在这样简单的要求下,可以将上面代码替换为:
c= tf.group([a, b]) sess.run(c)
相关文章推荐
- tf.control_dependencies()作用及用法
- TensorFlow入门基础知识(七)tf.control_dependencies的用法
- tf.identity 和 tf.control_dependencies的用法
- (Tensorflow之十)tf.control_dependencies()用法
- tf.control_dependencies()和tf.identity()
- tf.control_dependencies()
- tensorflow API:tf.control_dependencies
- tf.control_dependencies()
- tf.control_dependencies与tf.identity组合详解
- Tensorflow 解惑[一]:关于tf.identity 和tf.control_dependencies
- php curl的作用及用法
- 关于mongodb的索引的作用和用法--mongodb
- C# this.Invoke()的作用与用法
- Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
- Tensorflow:tf.flags的用法
- IOS笔记 #pragma mark的用法和作用(方便查找和导航代码)
- BeanShell作用域修饰符super的用法
- c++中static的作用与用法大全
- Modifier的用法及其作用
- auto_ptr作用和用法