为什么PyTorch被称为PyTorch?

30

最近我一直在研究深度学习框架,一直在想PyTorch这个名字的起源。

Keras的主页很好地解释了其名称的由来,而像TensorFlow这样的框架,命名背后的道理似乎很清楚。但是对于PyTorch,我似乎找不到它被命名的原因。

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


我认为这可能会对你有所帮助。https://www.infoworld.com/article/3159120/artificial-intelligence/facebook-brings-gpu-powered-machine-learning-to-python.html - jits_on_moon
请参考页面底部,https://en.wikipedia.org/wiki/PyTorch。 - jits_on_moon
2
@Mr.J 这篇文章没有包含我正在寻找的内容。 - Grayscale
1
https://twitter.com/msalihkaragoz/status/1034920476148215808 - Salih Karagoz
1
@Machavity,我认为这个问题至少有一个重要的区别:显然,这个问题通过软件的起源提供了洞察力,这可能为使用该软件进行编程的人提供洞察力或理解。关于curl的问题非常有趣,但可能无法满足上述要求。你怎么看? - Grayscale
显示剩余2条评论
1个回答

34

这里是一个简短的回答,形式上是另一个问题:

Torch,SMORCH???

PyTorch是从Torch7发展而来的。原始Torch的前身是一个叫做SVM-Torch的库,在2001年左右开发出来。SVM代表支持向量机。

SVM-Torch是一种分解算法,类似于SVM-Light,但针对回归问题进行了改进,详见this paper

同时在这个时期,G.W.Flake描述了顺序最小优化算法(SMO),可用于训练稀疏数据集上的SVM,并被纳入NODElib。

有趣的是,这被称为the SMORCH algorithm

你可以在NODElib docs中了解更多关于SMORCH的信息。

优化SVM是通过John Platt的顺序最小优化(SMO)算法的一种变体来执行的。这个版本的SMO是用于回归的,使用内核缓存,并结合了几种启发式方法;因此,我们将优化算法称为SMORCH。
所以SMORCH= Sequential
Minimal
Optimization
Regression
Caching
Heuristics

1
哇,这个名字的历史确实非常有趣!我想知道从SVM-Light到SVM-Torch的转变是否与SMORCH的使用以及一定程度上回归旧名有关,因为手电筒会发光... - Grayscale
你确定 SVM-Torch 使用 SMORCH 吗? - Grayscale
因为这个问题与编程无关且应该被关闭,所以我会给它点个踩。如果我问为什么Java叫Java或者Android叫Android呢?那不也应该被关闭吗? - user1209216
10
强烈不同意。这就像说PHP与编程个人主页无关一样荒谬。说讨论编程不能包含编程语言或算法本身的名称是无稽之谈...名称概括了工具的整个'要点',是理解事物及其上下文的好方法。 - Good Lux
@grayscale svm-torch 不使用SMORCH。 SMORCH算法是NODElib的一部分......它们是同时代的,是同一个问题空间中的两种方法。例如,本文将SVM-Torch与NODElib进行了比较。jmlr.org/papers/volume1/collobert01a/collobert01a.pdf - 我无法确定是否有一种方法是因为另一种方法而命名的或参考了另一种方法。据我所知,这个命名似乎是巧合的,尽管从历史的角度看来很神奇。据说SVM-Torch的命名是向SVMLight致敬。 - Good Lux
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接