有两个PyTorch存储库:
第一个显然需要Torch和lua并且是一个包装器,但是第二个没有引用Torch项目,除了它的名字。
它与Lua Torch(http://torch.ch/)有什么关系?
答案 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
似乎不再被维护。