如果需要小编其他论文翻译,请移步小编的GitHub地址
传送门:请点击我
如果点击有误:https://github.com/LeBron-Jian/DeepLearningNote
最近在学习PyTorch框架,买了一本《深度学习之PyTorch实战计算机视觉》,从学习开始,小编会整理学习笔记,并博客记录,希望自己好好学完这本书,最后能熟练应用此框架。
PyTorch是美国互联网巨头Facebook在深度学习框架Torch的基础上使用Python重写的一个全新的深度学习框架,它更像NumPy的替代产物,不仅继承了NumPy的众多优点,还支持GPUs计算,在计算效率上要比NumPy有更明显的优势;不仅如此,PyTorch还有许多高级功能,比如拥有丰富的API,可以快速完成深度神经网络模型的搭建和训练。所以 PyTorch一经发布,便受到了众多开发人员和科研人员的追捧和喜爱,成为AI从业者的重要工具之一。
知识储备——深度学习中的常见概念 张量TensorTensorflow中数据的核心单元就是Tensor。张量包含了一个数据集合,这个数据集合就是原始值变形而来的,它可以是一个任何维度的数据。tensor的rank就是其维度。
Rank本意是矩阵的秩,不过Tensor Rank和Matrix Rank的意义不太一样,这里就还叫Rank。Tensor Rank的意义看起来更像是维度,比如Rank =1就是向量,Rank=2 就是矩阵了,Rank = 0 就是一个值。
一:PyTorch中的Tensor首先,我们需要学会使用PyTorch中的Tensor。Tensor在PyTorch中负责存储基本数据,PyTorch针对Tensor也提供了相对丰富的函数和方法,所以PyTorch中的Tensor与NumPy的数组具有极高的相似性。Tensor是一种高层次架构,也不要明白什么是深度学习,什么是后向传播,如何对模型进行优化,什么是计算图等技术细节。更重要的是,在PyTorch中定义的Tensor数据类型可以在GPUs上进行运算,而且只需要对变量做一些简单的类型转换就能轻易实现。
1.1 Tensor的数据类型在使用Tensor时,我们首先要掌握如何使用Tensor来定义不同数据类型的变量。和Numpy差不多,PyTorch中的Tensor也有自己的数据类型定义方式,常用的如下:
1.1.1 torch.FloatTensor此变量用于生成数据类型为浮点型的Tensor,传递给torch.FloatTensor的参数可以是一个列表,也可以是一个维度值。
>>> import torch >>> a = torch.FloatTensor(2,3) >>> print(a) -0.1171 0.0000 -0.1171 0.0000 0.0000 0.0000 [torch.FloatTensor of size 2x3] >>> b = torch.FloatTensor([2,3,4,5]) >>> print(b) 2 3 4 5 [torch.FloatTensor of size 4]