PyTorch 与 Tensorflow 折叠

数据挖掘 Python 深度学习 张量流 火炬
2021-10-13 22:36:13

PyTorchTensorflow Fold都是深度学习框架,旨在处理输入数据具有不均匀长度或维度的情况(即动态图有用或需要的情况)。

我想知道他们是如何比较的,就他们所依赖的范式(例如动态批处理)及其含义而言,可以/不能在每一个中实现的东西,弱点/优势等。

我打算使用这些信息来选择其中一个来开始探索动态计算图,但我并没有具体的任务。

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

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

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

注 4:相关Reddit 线程

注意 5:Tensorflow Fold 的 github中的相关错误,它确定了一个重要限制:在评估期间无法进行条件分支。

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

1个回答

现在 Reddit 上有几个不错的帖子(这里这里)。

我没有使用过这些框架中的任何一个,但通过阅读和与用户交谈,我了解到 PyTorch中对动态图的支持是“自上而下的设计原则”,而TensorFlow Fold是固定在原始 Tensorflow 框架上的,所以如果你正在使用Tensorflow Fold做任何相当复杂的事情,你可能最终会比使用PyTorch做更多的黑客攻击。