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图片
A=[2,3,4,4] ,A.chunk(2,dim=0)
A=[2,3,4,4] ,A.chunk(2,dim=1)
A=[2,3,4,4] ,A.chunk(2,dim=2)
A=[2,3,4,4] ,A.chunk(2,dim=3)
A=[2,3,4,4] ,A.chunk(2,dim=0)
A=[2,3,4,4] ,A.chunk(2,dim=1)
A=[2,3,4,4] ,A.chunk(2,dim=2)
A=[2,3,4,4] ,A.chunk(2,dim=3)
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中张量的chunk和split操作。以A=[2,3,4,4]为例,展示了在不同维度上进行分割的效果。chunk函数根据指定的块数和维度将张量分割成多个tuple,而split则要求分割后的块大小相同或能被整除。此外,还提到了unbind函数,用于按维度拆解张量并返回切片。这些操作在深度学习模型的构建和数据预处理中非常常见。
6325

被折叠的 条评论
为什么被折叠?



