[英]Replacing a node in graph with custom op having variable dependency in tensorflow
我试图用做同样的自定义操作替换图形中完成的计算。
可以说该图具有常量A
和权重变量W
,我创建了自定义op来接受这两个输入并进行整个计算(权重更新的最后一步除外):
custom_op_tensor = custom_module.custom_op([A,W])
g_def = tf.get_default_graph().as_graph_def()
input_map = { tensor.name : custom_op_tensor }
train_op, = tf.import_graph_def(g_def, input_map=input_map, return_elements=[train_op])
在导入图def之后,有两个W
,一个来自原始图def,一个在导入图中。 当我们运行火车操作时,自定义操作最终将读取旧的W
并更新新的W
结果,梯度下降最终无法做正确的事情。
问题是custom_op的实例化需要输入权重张量W
仅在导入后才知道新的W
并且,导入需要自定义操作。 如何解决这个问题?
您能否精确说明使用哪个版本的Tensorflow:r0.08,r0.09,r0.10,r0.11?
不可能用另一个操作来改变图中的一个操作。 但是,如果您可以访问W,您仍然可以在运行火车op之前对W进行备份(使用copy模块中的 deepcopy()),以对其进行更新?
问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.