pytorch学习小记录(1)---tensor数据类型
tensor(张量),pytorch中的基本操作对象,可以看作是包含单一数据类型元素的多维矩阵。
1.tensor的创建
tensor的创建方式有很多。用表格来展示吧!
创建方式 | 函数 | 创建结果 | 备注 |
基础Tensor函数 | torch.Tensor(2,2) | tensor([[6.8296e+22, 6.6523e-33], [2.0535e-19, 1.2271e+01]]) | 传入的参数是tensor的shape |
指定Tensor函数类型 | torch.DoubleTensor(2,2) | tensor([[0., 0.], [0., 0.]], dtype=torch.float64) | 同上 |
使用python的list函数 | torch.Tensor([[1,2],[3,4]]) | tensor([[1., 2.], [3., 4.]]) | 使用python的list序列进行创建 |
默认值为0 | torch.zeros(2,2) | tensor([[0., 0.], [0., 0.]]) | 所有元素均为0 |
默认值为1 | torch.ones(2,2) | tensor([[1., 1.], [1., 1.]]) | 所有元素均为1 |
对角张量 | torch.eye(2,2) | tensor([[1., 0.], [0., 1.]]) | 对角线元素为1 |
随机张量 | torch.randn(2,2) | tensor([[-0.0867, 0.4637], | 使用randn()函数,生成随机数矩阵 |
随机排列张量 | torch.randperm(num) | tensor([2, 1, 0, 3]) | 生成长度为num的随机排列向量 |
arange函数 | torch.arange(start, end,step) | tensor([1, 3, 5, 7, 9]) | 表示从start到end,间距为step |
linspace函数 | torch.linspace(start, end, steps) | tensor([ 1., 10.]) | 表示从start到end,一共steps份,一维向量 |
torch.tensor() | torch.tensor([1,2,3]) | tensor([1,2,3]) | 参数可以为Python的list、NumPy的ndarray等 |
- 使用Tensor.shape或size()函数查看Tensor的维度
- 使用Tensor.numel()或Tensor.nelement()函数查看Tensor的元素个数
a=torch.Tensor(2,2) #创建一个两行两列的Tensor
print(a) #输出Tensor
print( a.shape ) #输出维度
print( a.size() ) #输出维度
print( a.numel() ) #输出元素个数
print( a.nelement() )#输出元素个数
输出:
tensor([[ 1.4013e-45, 0.0000e+00],
[-1.0517e-17, 4.5911e-41]])
torch.Size([2, 2])
torch.Size([2, 2])
4
4
2.Tensor的使用
未完待续