einops.reduce函数

函数定义reduce(tensor: Tensor, pattern: str, reduction: Reduction, **axes_lengths: int)

介绍:该函数可以用非常直观的方式对张量进行一系列处理。

Parameters:
参数:
    tensor: 要处理的张量
    pattern:维度变换
    reduction: 要执行的操作,可以是('min', 'max', 'sum', 'mean', 'prod')
    axes_lengths: any additional specifications for dimensions

举例:

import torch
from einops import rearrange, reduce

a=torch.tensor([
    [[1,1,1],
    [2,2,2]],

    [[3,3,3],
    [4,4,4]]
    ],dtype=float)

1、张量创建好了,先尝试着任意做一个max操作。在此处t b c分别代表三个维度,转换为b c就意味着一个维度被抹消掉了,后面的max表示沿着t维度求最大值。

b=reduce(a, 't b c -> b c', 'max')
print(b)
结果:
tensor([[3., 3., 3.],
        [4., 4., 4.]], dtype=torch.float64)

再尝试这次抹消掉第三个维度

b=reduce(a, 't b c -> t b', 'max')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值