pytorch 矩阵分解:chunk 和 split和unbind

本文详细介绍了PyTorch中张量的chunk和split操作。以A=[2,3,4,4]为例,展示了在不同维度上进行分割的效果。chunk函数根据指定的块数和维度将张量分割成多个tuple,而split则要求分割后的块大小相同或能被整除。此外,还提到了unbind函数,用于按维度拆解张量并返回切片。这些操作在深度学习模型的构建和数据预处理中非常常见。
部署运行你感兴趣的模型镜像
TensorName.chunk( blocknum , dim)

A=torch.randint(0,255,(2,3,4,4))分割的结果为tupleA = torch.randint(0, 255, (2, 3, 4, 4))分割的结果为tupleA=torch.randint(0,255,(2,3,4,4))tuple
在这里插入图片描述

A=[2,3,4,4] 两张3通道4×4图片
background Layer 1
A=[2,3,4,4] ,A.chunk(2,dim=0)
background Layer 1
A=[2,3,4,4] ,A.chunk(2,dim=1)
background Layer 1
A=[2,3,4,4] ,A.chunk(2,dim=2)
background Layer 1
A=[2,3,4,4] ,A.chunk(2,dim=3)
background Layer 1

chunk 和 split

       split要求分割正好整除,但是如官网例子https://pytorch.org/docs/stable/generated/torch.split.html#torch.split可以设置每块的大小:

torch.split(a, [1,4])
(tensor([[0, 1]]),
 tensor([[2, 3],
         [4, 5],
         [6, 7],
         [8, 9]]))

UNBIND:拆解矩阵某个维度,并返回切片

# https://pytorch.org/docs/master/generated/torch.unbind.html
torch.unbind(torch.tensor([[1, 2, 3],
                           [4, 5, 6],
                           [7, 8, 9]]))
# (tensor([1, 2, 3]), tensor([4, 5, 6]), tensor([7, 8, 9]))

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值