深度学习(四)——Pytorch的张量数据类型

Tensor
Pytorch的基本类型都是在Int,Double,Float等数据类型后加一个Tensor,但没String类型,解决办法:

  • onehot编码,都是01矩阵——体现不了语言前后关联性
  • word2vec等
    在gpu上还有cuda类型
    深度学习(四)——Pytorch的张量数据类型_第1张图片
    如果一个数据a是Tensor类型
  • type(a),a.type()查询数据类型
  • isinstance(a, torch.FloatTensor),合法化检验
    维度是0的为标量,1的为张量,Pytorch0.3以下没有维度(dimention)为0的标量,自动为1
    深度学习(四)——Pytorch的张量数据类型_第2张图片
    a.shape是成员,但a.shape()是成员函数
    深度学习(四)——Pytorch的张量数据类型_第3张图片
  • 用.Tensor接受的是数据
  • 用.FloatTensor接受的是维度,里面的数据是随机的
    深度学习(四)——Pytorch的张量数据类型_第4张图片
    维度(dim)为2——[2,2]-2行2列
    size/shape(形状,不是数据):[2,2]
    Tensor存数据
    深度学习(四)——Pytorch的张量数据类型_第5张图片
    torch.randn(2,3)-dim维度为2
    dim2应用:batch[4,784]——[图片个数,每个图片的维数/数据]
    深度学习(四)——Pytorch的张量数据类型_第6张图片
    dim3应用:文字处理[10,20,100],batch10,每次20句话,每句话100个数据/特征深度学习(四)——Pytorch的张量数据类型_第7张图片
    dim4:应用于图片[b,c,h,w]——batch,图片通道数channel,高,宽
    深度学习(四)——Pytorch的张量数据类型_第8张图片
    numel:Tensor占用内存大小
    深度学习(四)——Pytorch的张量数据类型_第9张图片

张量操作
numpy->torch torch.from_numpy(a)
深度学习(四)——Pytorch的张量数据类型_第10张图片

  • 小写tensor输入数据
  • 大写Tensor和FloatTensor输入维度,shape或者数据-用[] (少用,输入数据可以直接用小写tensor)
    深度学习(四)——Pytorch的张量数据类型_第11张图片
    初始化,不赋值
  • enpty的值是随机的
  • 建议用大写Tensor输入维度,小写输入数据
    绿色标注表示大写不推荐
    深度学习(四)——Pytorch的张量数据类型_第12张图片
    初始化忘记赋值,会出现随机数非常大,非常小的问题,造成bug,所以要记得赋值
    深度学习(四)——Pytorch的张量数据类型_第13张图片
    torch.Tensor默认生成torch.FloatTensor数据
    图为修改Tensor默认生成的FloatTensor->DoubleTensor
    深度学习(四)——Pytorch的张量数据类型_第14张图片

随机初始化
rand随机产生0~1之间的数值,不包括1
torch.rand(3,3)->产生dim为2,shape为3的矩阵
rand_like(a)->把a的shape取出来,再创建一个类似a的tensor
randint只能采样整数
torch.randint(1,10,[3,3]),产生1-9的数。不包括10,左闭右开
深度学习(四)——Pytorch的张量数据类型_第15张图片
正态随机分布

  • tandn:产生N~(0,1)正态分布
  • torch.normal产生的是一维的数,需要自己再reshape
    深度学习(四)——Pytorch的张量数据类型_第16张图片
    矩阵赋值为同一个数
    []代表标量
    [1]代表矢量,维度为1
    深度学习(四)——Pytorch的张量数据类型_第17张图片
    Pytorch中的rangearrange代替,且都是左闭右开
    深度学习(四)——Pytorch的张量数据类型_第18张图片
    等分函数linspace,给的是数目而不是步长
    logspace,10的多少次方
    深度学习(四)——Pytorch的张量数据类型_第19张图片
    深度学习(四)——Pytorch的张量数据类型_第20张图片
    深度学习(四)——Pytorch的张量数据类型_第21张图片
    randperm:随机打散
    有时需要人的顺序打散,分数不会打散,采用随机种子,例子中的idx
    深度学习(四)——Pytorch的张量数据类型_第22张图片

你可能感兴趣的:(深度学习)