深度学习-Pytorch常见的数据类型

数据类型认识

首先,python与PyTorch中的数据类型

python PyTorch
int IntTensor
float FloatTensor
int array IntTensor size[d1,d2,...]
float array FloatTensor size[d1,d2,...]
string

在PyTorch中表达String:

  • one-hot即将标签编码成数组表示
  • Embedding:Word2vec、glove

其中,Pytorch的数据类型根据存放在CPU和GPU的不同,数据类型也不同。

  • CPU:torch.[]
  • GPU:torch.cuda.[]

数据类型创建

首先明确三个不同的描述:

  1. dim:向量的维度,标量的维度为0
  2. size()或者shape:每一维度的长度,通俗来说就是几行几列...
  3. tensor:具体的数据或者向量

根据dim的不同,对数据进行介绍:

  1. dim=0:标量,损失
torch.tensor()
  1. dim=1:一维向量,偏置值
torch.tensor([1.1])
torch.rand(1)   #均匀分布
torch.randn(1)  #正态分布
torch.FloatTensor(1)
  1. dim=2:二维向量,ANN,线性批输入
torch.tensor([[11,11],[12,12]])
torch.rand(2,3)
torch.randn(2,3)
  1. dim=3:三维向量,RNN
torch.tensor([[[11,11],[12,12]],[[11,11],[12,12]]])
torch.rand(2,2,2)
torch.randn(2,2,2)
  1. dim=4:四维向量, CNN
torch.tensor([[[[11,11],[12,12]],[[11,11],[12,12]]],[[[11,11],[12,12]],[[11,11],[12,12]]]])
torch.rand(2,2,2,2)
torch.randn(2,2,2,2)

其他的操作

#具体数据量大小
data.numel()
#维度
data.dim()
#尺寸
data.shape
data.size()
#数据类型
a.type()