是否可以在两个操作系统创建之后创建控制依赖关系?我意识到使用tf.control_dependencies
可以在执行之前使一个操作等待另一个操作,但是必须在tf.control_dependencies
上下文中创建依赖操作。我想首先独立构建两个操作,然后添加依赖项。
答案 0 :(得分:6)
这可能是一个令人失望的答案,但是在创建TensorFlow Operation
之后,无法向TensorFlow Operation
添加控件依赖项(或任何其他输入)。一旦创建了张量和操作不可变。
一种可能性是克隆应该在适当的控制依赖关系上下文中运行第二个的操作。我们假设您有两个op_first
个对象,op_second
和op_first
,并且您希望op_second
在def first_before_second(op_first, op_second):
"""Sequence `op_first` before `op_second`.
Given two operations, returns a pair of operations with the same behavior
except that the first returned operation will execute before the second
returned operation.
"""
with tf.control_dependencies([op_first]):
g = tf.get_default_graph()
op_second_clone = g.create_op(op_second.type,
[in_t for in_t in op_second.inputs],
[out_t.dtype for out_t in op_second.outputs],
attrs=op_second.node_def.attr,
op_def=op_second.op_def)
return op_first, op_second_clone
之前运行:
Tensor
类似的修改也可以使这个问题与let arrayofactions
if(condition true) {
let activation = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Activate", handler: { (action, indexPath) -> Void in
// action activate
})
activation.backgroundColor = UIColor.lightGrayColor()
arrayofactions: Array = [delete, activation]
}
else {
let deactivation = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "De-Activate", handler: { (action, indexPath) -> Void in
// action deactivate
})
deactivation.backgroundColor = UIColor.lightGrayColor()
deactivation: Array = [delete, deactivation]
}
个对象相关,但这仍然是读者的练习。
答案 1 :(得分:0)
虽然一般情况下不可行,但您可以稍微修改现有的defmodule AppRouter do
use Plug.Router
use Plug.ErrorHandler
...
def handle_errors(conn, %{kind: _kind, reason: _reason, stack: _stack}) do
send_resp(conn, conn.status, "Something went wrong")
end
end
以强制执行依赖项。例如,您可以向张量添加零:
op
如果您的
def first_before_second_num(op_first, op_second):
with tf.control_dependencies([op_first]):
op_second += 0
return op_second
类似于NoOp
,那么您可能希望将其与另一个train_step
分组:
NoOp