有什么方法可以像[Socher et al. 2011]中使用TensorFlow那样实现递归神经网络吗?请注意,这与递归神经网络不同,递归神经网络由TensorFlow很好地支持。不同之处在于,网络不是复制成线性操作序列,而是复制到树结构中。
我设想我可以使用While
op为我的数据集的每个条目构造类似于树数据结构的宽度优先遍历的东西。
也许可以将树遍历作为新的C++ op在TensorFlow中实现,类似于While
(但更通用)?
发布于 2016-05-05 22:28:14
目前,由于图形结构依赖于输入,这些模型在TensorFlow中很难高效、清晰地实现。这也使得它很难做小型化。使用您提到的while循环是可能的,但是干净地执行它并不容易。
您可以为每个示例构建一个新的图表,但这将非常烦人。如果对于给定的输入大小,您可以枚举数量相当少的可能图,您可以在它们之间进行选择并同时构建它们,但是对于较大的输入来说,这是不可能的。
您还可以使用复杂的tf.gather逻辑和掩码在图形中路由示例,但这也会带来巨大的痛苦。
最终,为每个示例动态构建图形可能是最简单的,而且将来有可能会有支持更好的即时样式执行的替代方案。但是到了0.8版时,我希望这会有点烦人,并引入一些开销,就像Yaroslav在他的评论中提到的那样。
编辑:既然我回答了,这里有一个使用with循环的静态图的例子:https://github.com/bogatyy/cs224d/tree/master/assignment3,我不确定它与这种模型的自定义C++代码相比有多高,尽管原则上它可以批处理。
https://stackoverflow.com/questions/37054188
复制相似问题