一步步熟悉pytorch【1】---pytorch基本操作
PyTorch是一个基于Python的科学计算库,它有以下特点:
- 类似于NumPy,但是它可以使用GPU
- 可以用它定义深度学习模型,可以灵活地进行深度学习模型的训练和使用
以下所有的操作都是基于该文档操作:pytorch官方参考文档及使用说明
下面所做的练习均是一些常用的操作,其它的操作大家也可以查看上边提到的帮助文档。
在开始之前我们需要先引入torch
import torch
1.创建基本矩阵
1.1 构建一个未初始化的5*3矩阵
x=torch.empty(5,3)
1.2 构建一个随机初始化矩阵
x=torch.rand(5,3)
1.3 构建一个全部为0,类型为long的矩阵
#方式1
x=torch.zeros(5,3,dtype=torch.long)
x.dtype
#方式二
x=torch.zeros(5,3).long()
x.dtype
1.4 也可直接构建tensor
注意的是每一行都要用一个中括号括起来,每个数据和每一行之间都要加逗号分隔,
x = torch.tensor([[5.5,3,5,6],
[5,6,5,2]])
1.5 得到tensor的形状
x.shape
#需要注意的是torch.Size返回的是一个tuple
2.tensor算术运算
2.1 加法运算
x = torch.rand(5,3)
y = torch.rand(5,3)
#方式一
z=x+y
#方式二
z=torch.add(x,y)
#将x加到y上等于效果y=x+y
y.add_(x)
2.2把输出作为一个变量
#把输出作为一个变量
result = torch.empty(5,3)
torch.add(x, y, out=result)
# result = x + y
result
2.3 改变tensor的size
如果你希望resize/reshape一个tensor,可以使用torch.view:
x = torch.randn(4,4)
#生成一个4行4列的tensor
y = x.view(16)
#将x转换为16行1列的tensor
z = x.view(2,8)
z
#将x转换为2行8列的tensor
2.4 取tensor的某几行或某几列
以下的操作在该tensor上进行,该内容如下:
#取其第第一行到第三行,第一列到第二列数据
y[0:3, 0:2]
#取其全部行数据,取其全部列数据
y[0:, 0:]