PyTorch vs.Tensorflow折叠


26

PyTorchTensorflow折是指处理,其中输入数据具有非均匀的长度或尺寸的情况下(即,在动态图都是有用的或需要的情况下)深学习框架。

我想知道它们之间的比较,从它们所依赖的范式(例如动态批处理)及其含义的角度来看,它们之间不能/不能实现的事情,弱点/优点等。

我打算使用此信息选择其中一个以开始探索动态计算图,但是我没有特定的任务在想。

注1:像其他的动态计算图形框架DyNetChainer也欢迎比较,但我想专注于PyTorch和Tensorflow折,因为我认为他们是/将是最常用的。

注意2:我在PyTorch上发现了这个hackernews线程,其中包含一些稀疏信息,但数量不多。

注意3:另一个与Tensorflow Fold 有关的hackernews线程,包含一些有关它们如何比较的信息。

注意4:相关的Reddit线程

注5:Tensorflow Fold的github中的相关bug指出了一个重要限制:评估期间无法进行条件分支。

注释6:在pytorch论坛上讨论有关所使用算法(例如动态批处理)的可变长度输入。


您还可以将pytorch的贡献者正在进行的(在撰写此评论时)讨论添加到参考列表中。
GuSuku '17

1
我发现这个链接很有趣,因为你问它是比较(有关动态图和使用DyNet和Chainer)hackernoon.com/...
约翰·西奥

Answers:


9

现在(在这里这里),Reddit上有几个不错的线程。

我没有使用这两个框架,但是通过阅读和与用户交谈,我发现PyTorch中对动态图的支持是“自上而下的设计原则”,而TensorFlow Fold固定在原始的Tensorflow框架上,因此如果您使用Tensorflow Fold进行了相当复杂的事情,可能会比使用PyTorch进行更多的黑客攻击。


3
在过去的几个月中,我尝试将Fold与树上的卷积一起使用时,这几乎就是我的经验。它还不够成熟,无法处理类似的事情。如果您查看回购中已解决的问题,他们建议“解决”。切换到PyTorch是因为Fold非常不灵活-双关语是故意的。
Soubriquet
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.