PyTorch 数学运算-Tensor基本操作

用如下 a b 进行运算演示

>>> a                    
tensor([[0.7967, 0.5056, 0.7963],
        [0.8603, 0.7029, 0.7590]])
>>> b
tensor([[0.6923, 0.0411, 0.8713],
        [0.0483, 0.2948, 0.3286]])
  • 一般加减乘除运算: add/mimus/multiply/divide
    >>> a+b  ## torch.add(a,b)
    tensor([[1.4890, 0.5467, 1.6676],
            [0.9086, 0.9977, 1.0876]])
    >>> a-b  ## torch.sub(a,b)
    tensor([[ 0.1044,  0.4646, -0.0750],
            [ 0.8120,  0.4080,  0.4304]])
    >>> a*b  ## torch.mul(a,b)
    tensor([[0.5516, 0.0208, 0.6938],
            [0.0416, 0.2072, 0.2494]])
    >>> a/b  ## torch.div(a,b)
    tensor([[ 1.1508, 12.3163,  0.9139],
            [17.8087,  2.3840,  2.3099]])
    
  • 矩阵相乘: matmul
    • 对于大于二维的,只取后面的二维进行运算
    >>> a@b.t()  ## torch.matmul(a, b.t()) 
    tensor([[1.2662, 0.4492],
            [1.2858, 0.4982]])
    
  • powsqrt, exp, log
    >>> a**2  ## a.pow(2)
    tensor([[0.6348, 0.2557, 0.6341],
            [0.7401, 0.4940, 0.5761]])
    >>> a**0.5  ## a.sqrt()
    tensor([[0.8926, 0.7111, 0.8924],
            [0.9275, 0.8384, 0.8712]])
    >>> torch.exp(a)  ## e^a
    tensor([[2.2183, 1.6580, 2.2173],
            [2.3638, 2.0196, 2.1362]])
    >>> torch.log(a)  ## log_e a 
    tensor([[-0.2272, -0.6819, -0.2278],
            [-0.1505, -0.3526, -0.2757]])
    
  • 近似计算:floor, ceil, round 和 裁剪 clamp
    >>> a.floor()  ## 向上取整
    tensor([[0., 0., 0.],
            [0., 0., 0.]])
    >>> a.ceil()  ## 向下取整
    tensor([[1., 1., 1.],
            [1., 1., 1.]])
    >>> a.round()  ## 四舍五入
    tensor([[1., 1., 1.],
            [1., 1., 1.]])
            
    >>> a.clamp(0.1, 0.8)  ## 裁剪到指定区间 0.1 < a < 0.8
    tensor([[0.7967, 0.5056, 0.7963],
            [0.8000, 0.7029, 0.7590]])
    
    >>> a.trunc()  ## 拆分获得整数部分
    tensor([[0., 0., 0.],
            [0., 0., 0.]])
    >>> a.frac() 	 ## 拆分获得小数部分
    tensor([[0.7967, 0.5056, 0.7963],
            [0.8603, 0.7029, 0.7590]])
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值