pytorch基本语法

作者: 风中逍锋 | 来源:发表于2020-09-23 15:55 被阅读0次

    pytorch类似于numpy的使用,同时可以使用GPU提升计算速度,还可以搭建深度学习模型,方便实用,简单易学,下面介绍一下pytorch的基本语法:

    1.创建矩阵的方法

    (1)构建未初始化的矩阵

    import torch

    x = torch.empty(5,3)

    (2)构建随机初始化矩阵

    x = torch.rand(5,3)

    (3)构建全部为0,类型为long的矩阵

    x = torch.zeros(5,3,dtype=torch.long)

    或者

    x= torch.zeros(5,3).long()

    (4)从数据直接直接构建tensor

    x = torch.tensor([5.5,3])

    (5)从一个已有的tensor构建一个tensor,new_ones重用以前的信息,例如数据类型;randn_like产生一个形状一样的矩阵。

    x = x.new_ones(5,3, dtype=torch.double)

    y = torch.randn_like(x, dtype=torch.float)

    2.显示数据类型,得到tensor的形状和改变形状

    (1)显示数据类型

    x = torch.zeros(5,3).long()

    x.dtype

    (2)得到tensor的形状

    x.shape

    或者

    x.size()

    (3)改变tensor形状

    x = torch.randn(4,4)

    y = x.view(16)

    z = x.view(-1,8)

    3.tensor运算

    (1)加法

    x = torch.rand(5,3)

    y = torch.rand(5,3)

    x + y

    torch.add(x, y)

    result = torch.empty(5,3)

    torch.add(x, y, out=result)

    # result = x + y

    y.add_(x)

    4.得到Python数值

    x = torch.randn(1)

    x.item()

    5.Numpy,Tensor的CPU和GPU之间的转化

    (1)把Torch Tensor转变成NumPy Array

    a = torch.ones(5)

    b = a.numpy()

    (2)把NumPy ndarray转成Torch Tensor

    a = np.ones(5)

    b = torch.from_numpy(a)

    np.add(a, 1, out=a)

    (3)CPU转成GPU

    if torch.cuda.is_available():

        device = torch.device("cuda")

        y = torch.ones_like(x, device=device)

        x = x.to(device)

        z = x + y

        print(z)

        print(z.to("cpu", torch.double))

    model = model.cuda()

    (4)GPU不能直接转化成numpy,必须先转化为CPU,再转化为numpy

    y.to("cpu").data.numpy()

    y.cpu().data.numpy()

    相关文章

      网友评论

        本文标题:pytorch基本语法

        本文链接:https://www.haomeiwen.com/subject/igloyktx.html