2:pytorch的基本数据类型以及张量的创建
1:基本数据类型
【注】pytorch中没有string类型。表示string类型需要用到编码表示:例如:one-hot编码,Eembedding编码
2:创建张量
【注】可以用isinstance(data,dataType)检验数据类型。
【注】在pytorch0.3及0.3之前没有标量的概念。例如表示0.1需要用[0.1]表示。pytorch0.4之后加入了标量概念。例如:表示0.1表示0.1
(1):torch.tensor([1.0,2.0,3.0])其中的参数是data
(2):torch.Tensor(d1,d2,d3)其中参数是tensor的shape。也可以是data例如:[0.1,0.2,0.3](尽量不用该种)
默认数据类型是floatTensor.
[注]由于没有初始化,torch.Tensor()创建可能会出现数据特别大和特别小的情况。故可以使用下面的随机初始化创建
(3)随机初始化创建:rand(shape),rand_like(tensor),randint(start,end,shape)
[注]randint出的数据不会取到end。
(4)正太分布randn()
【注】 torch.randn(3,3)表示均值为0,方差为1的正太分布初始化。也可以使用torch.normal()自己定义均值和方差。
(5)
【注】第三个参数为步长
(6)
【注】torch.logspace(0,-1,steps=10)则生成0,-1之间切分数据为10的指数。
(7)
【注】eye()生成一个对角矩阵,eye中的参数只能是一个或者两个,不能指定更多维度。例如:生成一个一个3*3的对角矩阵可以是eye(3)或者是eye(3,3)
(8)随机打散