【问题标题】:pytorch versus autograd.numpypytorch 与 autograd.numpy
【发布时间】:2020-10-05 19:45:08
【问题描述】:
pytorch 和 numpy 的最大区别是什么,尤其是 autograd.numpy 包? (因为它们都可以为您自动计算梯度。)
我知道 pytorch 可以将张量移动到 GPU,但这是选择 pytorch 而不是 numpy 的唯一原因吗?
虽然 pytorch 以深度学习而闻名,但显然它几乎可以用于任何机器学习算法,它的 nn.Module 结构非常灵活,我们不必局限于神经网络。 (虽然我从未见过任何用 numpy 编写的神经网络模型)
所以我想知道pytorch和numpy的最大区别是什么。
【问题讨论】:
标签:
numpy
pytorch
autograd
【解决方案1】:
我不确定这个问题是否可以客观回答,但除了 GPU 功能之外,它还提供
- GPU 之间的并行化
- 跨机器并行化
- DataLoaders / Manipulators incl.异步预取
- 优化器
- 预定义/预训练模型(可为您节省大量时间)
- ...
但正如您所说,它是围绕深度/机器学习构建的,因此它的优点在于 numpy(与 scipy 一起)更通用,可用于解决大量其他工程问题(可能使用目前不流行的方法)。