我有这样的功能可以构建网络。
def build_network(inputs):
# Some arbitrary set of variables and ops here. For example...
out = tf.contrib.layers.fully_connected(inputs, 123)
(...)
return out
Run Code Online (Sandbox Code Playgroud)
然后,我用它来建立这样的网络。
inputs = tf.placeholder(...)
outputs = build_network(inputs)
Run Code Online (Sandbox Code Playgroud)
如果我想构建更多具有相同结构但有独立变量的网络,我只需要在其他变量范围以及可选的其他输入下再次调用build_network即可。
我的问题是:如果此build_network不再可用,但原始网络的输入和输出可用,该怎么办?换句话说:如何将整个子图从输出一直克隆到另一个具有自己独立变量集但结构相同的变量作用域中的输入?
我的理解是,一般来说tf.contrib.graph_editor尤其是graph_editor.copy正是我要做这些事情所需的工具。但是,我找不到使用它们的任何好例子。有什么建议么?
我有一个 Makefile 系统,它动态生成规则来为不同平台构建文件列表。由于各种原因,不能使用隐式规则,因为没有可应用的通用模式,而是各种函数在文件列表上的输出。
现在我正在尝试以一种仅针对需要构建的目标触发的方式添加自动依赖项生成。执行此操作的正常方法是定义生成依赖项的隐式规则,然后包含或定义要求这些依赖项作为同一目标的先决条件的显式规则(参见http://mad-scientist.net/make/autodep.html示例)。这是有效的,因为 make 会自动覆盖具有相同规则的显式版本的隐式规则而不会抱怨。
但是,由于我无法选择使用隐式规则,因此我试图找出一种方法来做到这一点。我只看到两种方法:
由于 AFAIK 无法执行第二个选项,有人知道我如何抑制“目标的覆盖命令”警告吗?关于覆盖显式规则并使用新的先决条件再次评估它们的任何其他建议?