PyTorch和Torch之间有什么关系?

时间:2017-06-05 14:46:06

标签: torch pytorch

有两个PyTorch存储库:

第一个显然需要Torch和lua并且是一个包装器,但是第二个没有引用Torch项目,除了它的名字。

它与Lua Torch(http://torch.ch/)有什么关系?

2 个答案:

答案 0 :(得分:17)

这里有一个关于火炬和火炬的简短比较。

  • 火炬:

      

    像Numpy这样的Tensor库,与Numpy不同,它具有强大的GPU支持。   Lua是Torch的包装器(是的!你需要对Lua有一个很好的理解),为此你需要LuaRocks包管理器。

  • <强> PyTorch:

      

    不需要LuaRocks包管理器,不需要在Lua中编写代码。由于我们使用的是Python,因此我们可以开发具有最大灵活性的深度学习模型。我们还可以利用pytorch自己的autograd来利用像scipy,numpy,matplotlib和Cython这样的主要Python软件包。

pytorch forum对此进行了详细讨论。除此之外,PyTorch和Torch都使用THNN。 Torch为THNN库提供了lua包装器,而Pytorch为它提供了Python包装器。

PyTorch的经常性网络,重量分配和内存使用,具有与C接口的灵活性,以及​​当前的Torch速度。

如需更多见解,请查看此讨论会here

答案 1 :(得分:4)

只是为了澄清两个pytorch存储库之间的混淆:

  • pytorch/pytorch与(Lua)Torch非常相似,但在Python中。所以它是THNN的包装器。这也是由Facebook编写的。
  • hughperkins/pytorch:当我在火炬存在之前在火炬中开发时,我遇到了这个回购,但我从未使用它,所以我不太确定它是否是用Python编写的包装器( Lua)Torch反过来是THNN上的包装或者THNN和Lua上的包装。在这两种情况下,这不是Torch的原始版本。它是由Hugh Perkins编写的,当时没有用于Torch的Python替代品。

如果你想知道要去哪一个,我肯定会推荐pytorch/pytorch,因为它直接与THNN通信,是由制作THNN并持续维护的人写的。 hughperkins/pytorch似乎不再被维护。