研究生进阶第二天---pytorch入门(tensors)

导入库

import torch

1、torch.empty

构建确定大小的矩阵,但数字是随机的,没有初始化

x = torch.empty(5,3)
x
Out[9]: 
tensor([[0.0000e+00, 2.5244e-29, 0.0000e+00],
        [2.5244e-29, 1.1210e-44, -0.0000e+00],
        [0.0000e+00, 0.0000e+00, 0.0000e+00],
        [1.4013e-45, 0.0000e+00, 0.0000e+00],
        [0.0000e+00, 0.0000e+00, 0.0000e+00]])

2、torch.rand & torch.randn

前者输出的数据呈均匀分布,后者呈正态分布

torch.rand(5,3)
Out[10]: 
tensor([[0.1297, 0.7328, 0.5596],
        [0.9479, 0.7298, 0.2744],
        [0.3915, 0.6741, 0.2043],
        [0.7056, 0.3216, 0.9894],
        [0.0097, 0.0585, 0.2258]])

torch.randn(5,3)
Out[19]: 
tensor([[ 0.4864, -1.4011, -0.6021],
        [ 0.5027,  1.3667, -0.8524],
        [ 0.8136,  0.5197, -0.6726],
        [ 0.2392,  1.1792, -1.4161],
        [ 0.3456,  0.3103, -1.8149]])

3、torch.zeros

输出确定大小的零矩阵

torch.zeros(5,3,dtype=torch.long)
Out[11]: 
tensor([[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]])

4、torch.tensor

直接使用指定的数来构建张量

torch.tensor([5.5,3])
Out[12]: tensor([5.5000, 3.0000])

5、x.new_ones()

将已存在的张量都变成1,矩阵大小不变

x = x.new_ones(5,3,dtype=torch.double)
x
Out[13]: 
tensor([[1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.]], dtype=torch.float64)

6、torch.randn_like

矩阵大小不变,但是数据变成随机数

x=torch.randn_like(x,dtype=torch.float)
x
Out[16]: 
tensor([[ 0.2321,  0.3828,  0.6428],
        [ 1.2721, -0.4849, -1.6789],
        [-1.2455,  1.2298, -2.1738],
        [ 0.2746,  0.0576, -1.3749],
        [ 1.3844,  1.1612,  1.3424]])

查看张量的大小

x.size()
Out[17]: torch.Size([5, 3])

7、张量的加法运算

第一种方法

result = torch.empty(5,3)
torch.add(x,y,out = result)

第二种方法

y.add_(x)

使用这种方法,会改变y值的大小。通过这一方法引申出来,得到一个规律

注意:任何使张量会发生变化的操作都有一个后缀 '_'。例如:x.copy_(y)x.t_()

8、x.view

改变一个张量的形状

(1)将张量变成15×1

x.view(15)

(2)将张量变成3×5

x.view(-1,5)

你可能感兴趣的:(深度学习初阶,pytorch)