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

如何将(2,3)的Torch Tensor转为(2,5)形式并实现逆变换?

张量维度变换与逆变换实现

给定形状为(2, 3)的PyTorch张量:

import torch
src = torch.tensor([[1,2,3], [4,5,6]])

要转成形状为(2, 5)的张量,最终形式如下:

tensor([[1, 2, 3, 4, 5],
        [6, 0, 0, 0, 0]])

正变换((2,3) → (2,5))

直接展平原张量后,按目标格式填充到全0的新张量里,高效且直观:

# 展平原张量
flat_src = src.flatten()
# 创建目标形状的全0张量
dst = torch.zeros(2, 5, dtype=src.dtype)
# 填充第一行:取前5个元素
dst[0] = flat_src[:5]
# 填充第二行第一个位置:取第6个元素
dst[1, 0] = flat_src[5]

逆变换((2,5) → (2,3))

提取有效元素、忽略补的0,再重塑回原形状即可:

# 展平目标张量,取前6个有效元素
flat_dst = dst.flatten()[:6]
# 重塑回原形状
restored_src = flat_dst.reshape(2, 3)

内容的提问来源于stack exchange,提问作者Ars ML

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:25:00