一、Pytorch基本数据类型
在创建tensor时,需要使用torch.Tensor、torch.DoubleTensor等事先指定数据类型。tensor是包含单一数据类型元素的多维矩阵,不能既有a类型,又有b类型的数据。
1.torch.FloatTensor :32位浮点型(默认类型:torch.Tensor)
在不指定数据类型时,默认位32位浮点型数据。
import torch
# Tensor相当于FloatTensor
a = torch.Tensor([[1, 2], [3, 4], [5, 6]])
print(a)
print(a.type())
形成一个3行2列的二维矩阵,每个元素的数据类型均为torch.FloatTensor。
2.torch.DoubleTensor:64位浮点型
import torch
# 指定数据类型为64位浮点型
a = torch.DoubleTensor([[1, 2], [3, 4], [5, 6]])
print(a)
print(a.type())
3.更多的数据类型
(1)torch.ShortTensor :16位整型
(2)torch.IntTensor:32位整型
(3)torch.LongTensor:64位整型
二、创建tensor的方式
1.创建一个3行2列的二维矩阵
(1)直接指定矩阵内元素
import torch
# 指定数据类型为32位浮点型
a = torch.Tensor([[1, 2], [3, 4], [5, 6]])
print(a)
print(a.type())
(2)随机生成矩阵内元素
import torch
# 指定数据类型为64位浮点型
a = torch.rand((3,2))
print(a)
print(a.type())
(3)利用numpy生成矩阵内元素
import torch
import numpy as np
# 指定数据类型为64位浮点型
a = torch.tensor(np.random.normal(0, 0.01, size=(3,2)),dtype=torch.float64)
print(a)
print(a.type())
(4)从numpy转换为tensor
import torch
import numpy as np
# 定义一个3行2列的矩阵
a = np.array([[1, 2], [3, 4], [5, 6]])
print(a)
print(type(a))
# 使用from_numpy()函数将ndarray格式转化为tensor格式
b = torch.from_numpy(a)
print(b)
print(b.type())
2.创建1个标量
import torch
# 定义一个标量
a = torch.tensor(3.2, dtype=torch.float)
print(a)
print(a.dim())
3.创建一个1维矩阵
import torch
# 定义一个1维向量
a = torch.tensor([3.2, 3.5], dtype=torch.float)
print(a)
print(a.dim())
4.创建一个2维矩阵
import torch
# 定义一个2维向量
a = torch.tensor([[3.2, 3.5],[1.2, 2.3],[1.5, 3.3]], dtype=torch.float)
print(a)
print(a.dim())
5.创建一个3维矩阵【2个3x4的矩阵】
import torch
import numpy as np
# 定义一个3维向量
a = torch.tensor(np.random.rand(24).reshape(2,3,4), dtype=torch.float)
print(a)
print(a.dim())