PyTorch和Torch有什么关系?

ddarikpa  于 2023-03-30  发布在  其他
关注(0)|答案(3)|浏览(314)

有两个PyTorch仓库:

第一个显然需要Torch和lua,并且是一个 Package 器,但是第二个除了名称之外没有对Torch项目进行任何引用。
它与Lua Torch有什么关系?

muk1a3rh

muk1a3rh1#

这里有一个关于pytorch和torch的简短比较。

** Torch :**

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

PyTorch:

不需要LuaRocks包管理器,也不需要用Lua编写代码。因为我们使用Python,我们可以以最大的灵活性开发深度学习模型。我们还可以使用PyTorch自己的autograd来利用主要的Python包,如scipynumpymatplotlibCython
pytorch forum上有详细的讨论。此外,PyTorch和Torch都使用THNN。Torch为THNN库提供了lua Package 器,而Pytorch为THNN库提供了Python Package 器。
PyTorch的递归网络,权重共享和内存使用,与C接口的灵活性,以及Torch的当前速度。
欲了解更多信息,请查看此讨论会话here

vlju58qv

vlju58qv2#

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

  • pytorch/pytorch非常类似于(Lua)Torch,但使用的是Python。因此它是THNN的 Package 器。这也是由Facebook编写的。
  • hughperkins/pytorch:在pytorch出现之前,我在Torch中开发时遇到过这个repo,但我从未使用过它,所以我不太确定它是否是用Python编写的 Package 器(Lua)Torch,它又是THNN上的 Package 器或THNN和Lua上的 Package 器。在这两种情况下,这不是Torch的原始版本。它是由Hugh Perkins编写的,当时还没有Torch的Python替代品。

如果你想知道该选择哪一个,我肯定会推荐pytorch/pytorch,因为它直接与THNN通信,是由THNN的人编写的,并且一直在维护。

7nbnzgx9

7nbnzgx93#

  • 2023+答案 *
    Torchtorch/torch7)是最初的实现,主要是用C语言实现的,用Lua封装。该项目由EPFL的IDIAP于2013年启动。后来,其他公司也加入了该项目,包括Facebook(现在的 metaPlatforms)。开发于2019年停止。
    PyTorchpytorch/pytorch)确实是一个continuation of Torch,用C++重写了核心,并在Python中使用了同样重要的接口(这一直是焦点)。该项目由Facebook(现在的 metaAI)的研究人员于2016年启动,并于2022年底成为taken over by the PyTorch Foundation(Linux基金会的一部分)。

有点令人困惑的是,PyPi上的PyTorch的python包被简单地称为torch。幸运的是,如果你尝试pip install pytorch,一个虚拟的空包,你会得到一个明确的错误消息:You tried to install "pytorch". The package named for PyTorch is "torch" .
conda上,该包实际上被称为pytorch(在通道/命名空间pytorch下)。
P.S.:至于你提到的另一个项目,hughperkins/pytorch,现在很明显它没有蓬勃发展;它于2016年结束开发。

相关问题