欢迎回到本系列教程。首先,让我们介绍下PyTorch,这是一个深度神经网络的Python包。因为我们之后会使用它来编写神经网络,所以就从它开始吧。
PyTorch是一个深度学习框架和科学计算包。PyTorch的核心开发团队是这么描述PyTorch的。无论如何,PyTorch的科学计算是利用了PyTorch的张量库和张量操作。
张量是一个n维的数组
例如,PyTorch的 torch.Tensor
对象是由NumPy的ndarray
对象创建出来的,共享同一个内存。那么在PyTorch和NumPy之间进行转换是十分方便和节省性能的 。
另外,PyTorch内置了对GPU的支持。如果我们的系统中有GPU,也可以很方便在GPU和CPU中转移张量。
PyTorch的张量操作能在GPU运行
我们会在CUDA章节讨论GPU以及我们为什么要在深度学习中使用它们。现在,只需要知道Pytorch的张量以及操作是和NumPy的n维数组十分相近的。
张量在深度学习和神经网络中是十分重要的,因为它们是我们最后搭建训练神经网络的数据结构。
在张量库的顶层,PyTorch还有很多东西,在我们深入细节之前,先看下PyTorch的创立过程。
PyTorch历史
PyTorch最初在2016年10月发布,在Pytorch之前,有一个叫做Torch的框架。Torch是一个风靡一时的基于Lua机器学习框架。
The connection between PyTorch and this Lua version, called Torch, exists because many of the developers who maintain the Lua version are the individuals who created PyTorch.
Soumith Chintala 独自开发了PyTorch,他创造PyTorch的原因非常简单,Lua版本的Torch太“恶心”了,有需要开发一个有Python编写的版本。由此,PyTorch来了。
Facebook创造了PyTorch
你可能听说过PyTorch是由Facebook开发和维护的。这是因为