【发布时间】:2017-12-15 23:41:52
【问题描述】:
有没有办法找到给定操作(通常是损失)所依赖的所有变量?
我想使用它然后使用各种set().intersection() 组合将此集合传递给optimizer.minimize() 或tf.gradients()。
到目前为止,我已经找到 op.op.inputs 并尝试了一个简单的 BFS,但我从来没有机会遇到 tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES) 或 slim.get_variables() 返回的 Variable 对象
在对应的“Tensor.op._idandVariables.op._id”字段之间似乎确实存在对应关系,但我不确定这是我应该依赖的东西。
或者我一开始就不应该这样做? 我当然可以在构建图表时精心构建不相交的变量集,但是如果我更改模型,很容易遗漏一些东西。
【问题讨论】:
-
我已经发布了一个相关的答案,它提供了一个单行来打印出依赖关系图:stackoverflow.com/a/56171327/4790871
标签: tensorflow