有点令人困惑的是,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年结束开发。
3条答案
按热度按时间muk1a3rh1#
这里有一个关于pytorch和torch的简短比较。
** Torch :**
像
numpy
这样的Tensor库,与numpy
不同,它具有强大的GPU支持。Lua是Torch的 Package 器(是的!你需要对Lua有很好的理解),为此你需要LuaRocks包管理器。
PyTorch:
不需要LuaRocks包管理器,也不需要用Lua编写代码。因为我们使用Python,我们可以以最大的灵活性开发深度学习模型。我们还可以使用PyTorch自己的autograd来利用主要的Python包,如
scipy
,numpy
,matplotlib
和Cython
。在pytorch forum上有详细的讨论。此外,PyTorch和Torch都使用THNN。Torch为THNN库提供了lua Package 器,而Pytorch为THNN库提供了Python Package 器。
PyTorch的递归网络,权重共享和内存使用,与C接口的灵活性,以及Torch的当前速度。
欲了解更多信息,请查看此讨论会话here。
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的人编写的,并且一直在维护。7nbnzgx93#
Torch(
torch/torch7
)是最初的实现,主要是用C语言实现的,用Lua封装。该项目由EPFL的IDIAP于2013年启动。后来,其他公司也加入了该项目,包括Facebook(现在的 metaPlatforms)。开发于2019年停止。PyTorch(
pytorch/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年结束开发。