PyTorch 为什么叫 PyTorch?

Why is PyTorch called PyTorch?

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

对于 Keras,他们的 home page 很好地解释了这个名字的由来,而对于像 TensorFlow 这样的东西,这个名字背后的原因似乎很清楚。然而,对于 PyTorch,我似乎无法理解它为何如此命名。

当然,我理解“Py-”前缀,也知道PyTorch在某种意义上是Torch的继承者。但我仍然想知道:“-Torch”部分背后的最初想法是什么?知道名字的由来吗?

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

手电筒,SMORCH ???

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

SVM-Torch是一种类似于SVM-Light, but adapted to regression problems, according to this paper的分解算法。

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

有趣的是,这叫做 the SMORCH algorithm

您可以在 NODElib docs

中找到有关 SMORCH 的更多信息

Optimization of the SVMs is:

  • performed by a variation of John Platt's sequential minimal
  • optimization (SMO) algorithm. This version of SMO is generalized
  • for regression, uses kernel caching, and incorporates several
  • heuristics; for these reasons, we refer to the optimization
  • algorithm as SMORCH.

所以SMORCH =

S等式
M最小
O优化
R出口
C疼痛
H启发式

我无法明确回答,但我的想法是“Torch”是 SVM-Light 的“Light”的重复或演变,结合了 SMORCHiness 的大量帮助。您需要咨询 SVMTorch 和 SVM-Light 的作者,以确认这确实是“引发”这个名字的原因。可以合理地假设Torch的“TO”代表一些其他的优化,而不是SMO,比如Tensor O优化,但是我还没有找到任何直接参考...还。