pytorch基本数据类型

目录

  • 1. tensor
  • 2. 数据类型
  • 3. 数据类型的创建和使用
    • 3.1 数据类型check
    • 3.2 Dimension为0的tensor
    • 3.2 Dimension为1的tensor
    • 3.3 Dimension为2的tensor
    • 3.4 Dimension为3的tensor
    • 3.5 Dimension为4的tensor

1. tensor

下图为python数据类型与pytorch的对应关系
pytorch基本数据类型_第1张图片
在pytorch中是没有string类型的,如果要使用string类型,需要借助两种手段:

  • one-hot
    ▪ [0, 1, 0, 0, …]
  • Embedding
    Word2vec
    glove
    详见:万字长文经典-再论Embedding 技术

2. 数据类型

pytorch基本数据类型_第2张图片
从图中可以看出pytorch数据类型是分cpu和GPU的,gpu是在torch后加一个cuda,他们是完全不同的数据
这里经常使用的数据类型是FloatTensor和ByteTensor

3. 数据类型的创建和使用

3.1 数据类型check

pytorch基本数据类型_第3张图片
pytorch基本数据类型_第4张图片

torch.randn是生成随机初始化的2行3列的tensor数据

a = torch.randn(2, 3)
print(a)
tensor([[ 0.4406,  0.4335, -1.6466],
        [-0.1927,  0.4834,  1.0126]])

3.2 Dimension为0的tensor

pytorch基本数据类型_第5张图片
Dimension为0的tensor多用来表示loss的值
pytorch基本数据类型_第6张图片
.shape是个成员,返回torch.Size([])表示0维,.size()是成员函数返回结果与.shape一样

3.2 Dimension为1的tensor

一维tensor多用于bias和线性数据输入,如下图:
pytorch基本数据类型_第7张图片

3.3 Dimension为2的tensor

当线性输入,一次输入多张图片时使用2维tensor,比如:使用minist数据集做手写数字识别,表示为[n, 784] n表示一次输入几张图片。
pytorch基本数据类型_第8张图片

3.4 Dimension为3的tensor

3维多用于RNN,NLP文字处理,[10,20,100] 表示20个句子每个句子10个单词,单词用100向量表示。
pytorch基本数据类型_第9张图片

3.5 Dimension为4的tensor

4维多用于CNN卷积循环神经网络,[b,c,h,w]分别表示为[batch, channel, height, weight]
pytorch基本数据类型_第10张图片

你可能感兴趣的:(机器学习,pytorch,人工智能,python)