首页 文章

为什么PyTorch称为PyTorch?

提问于
浏览
2

我最近一直在研究深度学习框架,并一直在思考PyTorch名称的起源 .

有了Keras,他们的home page很好地解释了这个名字的起源,并且像TensorFlow这样的名字背后的推理似乎相当清楚 . 然而,对于PyTorch,我似乎无法想象为什么它如此命名 .

当然,我理解“Py-”前缀并且也知道PyTorch在某种意义上是Torch的继承者 . 但我仍然想知道:“-Torch”部分背后的原始想法是什么?知道这个名字的来源是什么吗?

谢谢你的帮助!

2 回答

  • 7

    这是一个很好的问题,不确定为什么会被投票:有很多信息和历史存储在为工件选择的名称中 .

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

    火炬,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 equential M inimal O ptimization R egression C aching H euristics

    我可以_ST1481_需要与SVMTorch和SVM-Light的作者签到确认这确实是"sparked"的名字 . 可以合理地假设Torch的"TO"代表其他一些优化,而不是SMO,例如 T ensor O ptimization,但我还没有找到任何直接引用 .

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

  • 0

    该名称源于最初的Torch框架,“开源机器学习库,科学计算框架和基于Lua编程语言的脚本语言” .

    它由Facebook A.I研究小组开发 .

相关问题