为什么PyTorch称为PyTorch?

时间:2018-07-26 03:57:39

标签: pytorch names

我最近一直在研究深度学习框架,并且一直在想知道PyTorch名称的由来。

有了Keras,他们的home page很好地解释了这个名字的由来,并且使用TensorFlow之类的东西,名字背后的理由似乎很清楚。但是,对于PyTorch而言,我似乎无法理解为何如此命名。

当然,我理解“ Py-”前缀,并且从某种意义上来说,PyTorch是继任者。但是我仍然想知道:“-Torch”部分背后的原始想法是什么?是否知道名称的由来?

感谢您的帮助!

3 个答案:

答案 0 :(得分:9)

这是一个很好的问题,不确定为什么要投票:在为工件选择的名称中存储了许多信息和历史记录。

这是另一个问题的简短答案:

火炬,SMORCH ???

PyTorch由Torch7开发。原始Torch的前身是一个名为SVM-Torch(http://bengio.abracadoudou.com/SVMTorch.html)的库,该库于2001年左右开发。SVM表示支持向量机。

SVM-Torch是一种类似于SVM-Light(http://svmlight.joachims.org/)的分解算法,但根据本文的要求,它适用于回归问题:

http://www.ai.mit.edu/projects/jmlr/papers/volume1/collobert01a/collobert01a.ps.gz

大约在这个时候,G.W。Flake描述了顺序最小优化算法(SMO),该算法可用于在稀疏数据集上训练SVM,并将其合并到NODElib中。

有趣的是,这被称为SMORCH算法。您可以在回溯机器上找到本文:

https://web.archive.org/web/20030319153242/http://www.neci.nj.nec.com/homepages/flake/smorch.ps

有关NODElib文档中SMORCH的更多信息: https://github.com/gwf/NODElib/blob/master/include/nodelib/svm.h

  

SVM的优化是:

     
      
  • 通过约翰·普拉特(John Platt)的连续极小值的变化
  •   
  • 优化(SMO)算法。此版本的SMO是通用的
  •   
  • 进行回归,使用内核缓存,并合并了几个
  •   启发式;由于这些原因,我们参考了优化   
  • 算法为SMORCH。
  •   

所以SMORCH =

S 连续 M 最小 O 优化 R 出口 C 前进 H euristics

我无法确切地回答,但我的想法是“火炬”是SVM-Light与SMORCHiness的大量帮助相结合的“ Light”的即兴或演变。您需要与SVMTorch和SVM-Light的作者联系,以确认这确实是“花哨”的名字。可以合理地假设Torch的“ TO”代表其他优化而不是SMO,例如 T ensor O 优化,但我还没有发现直接参考...

更新12/3/2018:在下面的评论中。

答案 1 :(得分:0)

该名称源于原始的Torch框架,“开源机器学习库,科学计算框架以及基于Lua编程语言的脚本语言。”

它是由Facebook AI研究小组开发的。

答案 2 :(得分:0)

Torch是一个用于构建和训练深度学习模型的框架,Torch的历史可以追溯到10月,因此PyTorch团队采用了该框架并将其转换为python语言,这就是为什么从Python和'Torch分别将其称为PyTorch'Py'的原因'来自以前的Torch框架 这是Udacity对PyTorch Soumith Chintala联合创始人的采访视频,关于他的入门方式

https://www.youtube.com/embed/0eLXNFv6aT8