深度学习-Pytorch常见的数据类型
深度学习-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.[]
数据类型创建
首先明确三个不同的描述:
- dim:向量的维度,标量的维度为0
- size()或者shape:每一维度的长度,通俗来说就是几行几列...
- tensor:具体的数据或者向量
根据dim的不同,对数据进行介绍:
- dim=0:标量,损失
torch.tensor()
- dim=1:一维向量,偏置值
torch.tensor([1.1])
torch.rand(1) #均匀分布
torch.randn(1) #正态分布
torch.FloatTensor(1)
- dim=2:二维向量,ANN,线性批输入
torch.tensor([[11,11],[12,12]])
torch.rand(2,3)
torch.randn(2,3)
- dim=3:三维向量,RNN
torch.tensor([[[11,11],[12,12]],[[11,11],[12,12]]])
torch.rand(2,2,2)
torch.randn(2,2,2)
- 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()