• pytorch入门1.1(基本操作)


    本节继续来讲pytorch的入门级操作,加加减减、拍平拉直的操作。

    4.张量的四则运算

    在操作张量的的时候,肯定少不了张量之间的加减乘除。二维世界的张量就是矩阵,是不是像我们学数学那样直接用(+,-,*,/)直接操作就好了呢???

    x = torch.tensor([[1,2],[3,4]])
    y = torch.ones(2,2)
    
    x+y  # 对应元素相加
    
    x-y  # 对应元素相减
    
    x*y  # 对应元素相乘
    
    x/y  # 对应元素相除
    

    可以看到如果直接使用四则运算符进行操作,得到的结果都是对应元素的基本操作。

    其实,对应元素的操作,还可以使用一些函数进行完成。例如add_(),add()等。

    # x.add_(y)  # 此句会报错
    x.dtype,y.dtype  # (torch.int64, torch.float32)
    
    # 重新改变下数据,把x改成float32类型的
    x = torch.tensor([[1,2],[3,4]],dtype=torch.float32)
    y = torch.ones(2,2)
    
    # inplace的方式,操作完成后,结果会赋值给前一个操作数
    x.add_(y)  # x会变成x+y
    
    x.t_()  # x转置,只能转置2维或者2维以下的张量
    

    下面是 add()、mul()加法、乘法操作。可以看到都是对应元素的操作。

    torch.add(x,y) # 对应元素相加
    torch.mul(x,y) # 对应元素相乘
    

    这里add_()add()的区别是,前者是变量直接调用的函数,即x可以直接点出来的函数,但是后者是torch包里才有的函数。而且前者操作完,就直接赋值给调用的变量了。

    那么,我平时学的矩阵的乘法呢???它来了它来了。。。

    torch.mm(x,y)  # 矩阵乘法
    
  • 相关阅读:
    vim配置
    Linux命令博客目录
    操作系统博客目录
    Docker基础命令(快速入门)
    MQTT遗愿(last will) paho.mqtt实现
    Docker使用阿里云镜像加速器
    汉诺塔问题(递归)
    Qt使用QJSEngine执行脚本
    mysql修改密码,开放远程访问权限
    mysql数据库表数据导出与导入
  • 原文地址:https://www.cnblogs.com/datasnail/p/13082287.html
Copyright © 2020-2023  润新知