You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何降低张量最后一个维度?将[2,1,80,64]张量转为[2,1,80,16]

要把形状为torch.Size([2, 1, 80, 64])的PyTorch Tensor转换为torch.Size([2, 1, 80, 16]),有以下几种可行的实现方式:

  • 池化操作(平均/最大池化)
    若需要在压缩维度的同时保留空间局部特征,池化是常用方案。由于最后一维从64到16是4倍缩放,可使用核大小为(1,4)、步幅为(1,4)的池化层:

    import torch
    import torch.nn as nn
    
    # 示例Tensor
    x = torch.randn(2, 1, 80, 64)
    
    # 平均池化
    avg_pool = nn.AvgPool2d(kernel_size=(1, 4), stride=(1, 4))
    output_avg = avg_pool(x)
    print(output_avg.shape)  # torch.Size([2, 1, 80, 16])
    
    # 最大池化
    max_pool = nn.MaxPool2d(kernel_size=(1, 4), stride=(1, 4))
    output_max = max_pool(x)
    print(output_max.shape)  # torch.Size([2, 1, 80, 16])
    

    适用场景:CNN任务中需要保留空间特征的维度压缩。

  • 手动维度聚合
    可手动对最后一维分组做聚合计算,灵活度更高:

    # 分组取均值:将最后一维分成16组,每组4个元素取平均
    output_mean = x.view(2, 1, 80, 16, 4).mean(dim=-1)
    print(output_mean.shape)  # torch.Size([2, 1, 80, 16])
    
    # 分组求和
    output_sum = x.view(2, 1, 80, 16, 4).sum(dim=-1)
    print(output_sum.shape)  # torch.Size([2, 1, 80, 16])
    

    适用场景:需要自定义聚合逻辑(如加权平均)的场景。

  • 卷积层降维
    使用1x4的卷积核,步幅设为4,输入输出通道保持一致,可学习更复杂的特征压缩方式:

    conv = nn.Conv2d(in_channels=1, out_channels=1, kernel_size=(1, 4), stride=(1, 4), bias=False)
    output_conv = conv(x)
    print(output_conv.shape)  # torch.Size([2, 1, 80, 16])
    

    适用场景:需要通过训练学习最优压缩规则的深度学习任务。

  • 直接切片
    若对信息损失不敏感,可直接截取最后一维的部分元素:

    # 每隔4个元素取一个
    output_slice = x[..., ::4]
    print(output_slice.shape)  # torch.Size([2, 1, 80, 16])
    
    # 取前16个元素
    output_first16 = x[..., :16]
    print(output_first16.shape)  # torch.Size([2, 1, 80, 16])
    

    适用场景:快速截取维度、对特征完整性要求低的场景。

  • 线性层映射
    通过线性层将最后一维从64映射到16,需先调整Tensor形状再恢复:

    linear = nn.Linear(64, 16)
    x_reshaped = x.squeeze(1)  # 调整为(2, 80, 64)
    output_linear = linear(x_reshaped)
    output_linear = output_linear.unsqueeze(1)  # 恢复为(2, 1, 80, 16)
    print(output_linear.shape)  # torch.Size([2, 1, 80, 16])
    

    适用场景:需要学习全局维度映射关系的非空间特征转换。

内容的提问来源于stack exchange,提问作者Khoa D. Vo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:00:49