43

有两个 PyTorch 存储库:

第一个显然需要 Torch 和 lua 并且是一个包装器,但第二个除了名称之外没有提及 Torch 项目。

它与Lua Torch有什么关系?

4

2 回答 2

35

这里是 pytorch 和 torch 的简短比较。

火炬:

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

火炬:

无需 LuaRocks 包管理器,无需在 Lua 中编写代码。由于我们使用的是 Python,我们可以以最大的灵活性开发深度学习模型。我们还可以利用主要的 Python 包scipy,如numpymatplotlibCythonPyTorch 自己的 autograd。

在pytorch 论坛上有对此的详细讨论。除此之外,PyTorch 和 Torch 都使用THNN。Torch 为 THNN 库提供 lua 包装器,而 Pytorch 为其提供 Python 包装器。

PyTorch 的循环网络、权重共享和内存使用以及与 C 接口的灵活性以及 Torch 的当前速度。

如需更多见解,请在此处查看此讨论会。

于 2017-06-06T06:00:13.023 回答
10

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

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

如果您想知道该选择哪一个,我绝对会推荐pytorch/pytorch它,因为它直接与 THNN 通信,由 THNN 的开发者编写并持续维护。hughperkins/pytorch似乎不再维护了。

于 2018-05-18T13:15:16.777 回答