[PyTorch]PyTorch中张量(Tensor)拼接和拆分操作

PyTorch深度学习总结

第四章 PyTorch中张量(Tensor)拼接和拆分操作


文章目录


前言

上文介绍了PyTorch中张量(Tensor)的切片操作,本文主要介绍张量的拆分和拼接操作。


一、张量拼接

函数 描述
torch.cat() 将张量按照指定维度关系进行拼接
torch.stack() 将张量按照指定维度关系进行拼接(用法同cat相同)
python 复制代码
# 引入库
import torch

# 创建张量
A = torch.arange(9).reshape(1, 3, 3)
print(A)

输出结果为:

tensor(

\[\[0, 1, 2,

3, 4, 5,

6, 7, 8]])


1、按照维度1进行拼接:

python 复制代码
B0 = torch.cat((A, A), dim=0)
print(B0)

输出结果为:

tensor(\[\[0, 1, 2,

3, 4, 5,

6, 7, 8],

\[0, 1, 2,

3, 4, 5,

6, 7, 8]])


1、按照维度2(行)进行拼接:

python 复制代码
B1 = torch.cat((A, A), dim=2)
print(B1)

输出结果为:

tensor(\[\[0, 1, 2,

3, 4, 5,

6, 7, 8,

0, 1, 2,

3, 4, 5,

6, 7, 8]])


1、按照维度3(列)进行拼接:

python 复制代码
B2 = torch.cat((A, A), dim=2)
print(B2)

输出结果为:

tensor(\[\[0, 1, 2, 0, 1, 2,

3, 4, 5, 3, 4, 5,

6, 7, 8, 6, 7, 8]])

二、张量拆分

函数 描述
torch.chunk() 将张量分割为特定数量的块(当张量对应维度元素数量不足以拆分时会按照可以拆分数量进行拆分,且会出现不均等拆分情况)
torch.split() 将张量分割为特定数量的块,可以指定块的大小

注意:
torch.chunk():当张量对应维度元素数量不足以拆分时,会按照可以拆分的最大数量进行拆分,且会出现不均等拆分情况,且最后一个块最小

下文使用B0进行示例

复制代码
B0 = tensor([[[0, 1, 2],
         [3, 4, 5],
         [6, 7, 8]],
        [[0, 1, 2],
         [3, 4, 5],
         [6, 7, 8]]])

1、torch.chunk()按照维度1进行拆分:

python 复制代码
C1, C2 = torch.chunk(B0, 2, dim=1) # 维度1只有三组元素,所以会按照2:1的比例进行拆分
print(C1, C2)

输出结果为:

tensor(\[\[0, 1, 2,

3, 4, 5,

6, 7, 8]])

tensor(\[\[0, 1, 2,

3, 4, 5,

6, 7, 8]])


1、torch.chunk()按照维度2进行拆分:

python 复制代码
D1, D2 = torch.chunk(B0, 2, dim=1) # 3表示指定拆分数,但由于不足以拆分,所以只会拆分两组
print(D1, D2)

输出结果为:

tensor(\[\[0, 1, 2,

3, 4, 5],

\[0, 1, 2,

3, 4, 5]])

tensor(\[\[6, 7, 8],

\[6, 7, 8]])

相关推荐
hpoenixf24 分钟前
当 AI 开始谈“买什么”,研究助手离投顾和交易还有多远?
人工智能
大模型真好玩31 分钟前
如何让视频模型对你言听计从?结构化提示词助你生成电影级画面
人工智能·agent·deepseek
zhang133830890751 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
特立独行的猫a1 小时前
会说确认叫车才下单-启元机器人官方滴滴打车技能源码详解
人工智能·机器人·技能·启元机器人
老金带你玩AI1 小时前
GPT-6.1 Terra上线:更便宜了,干活到底怎么样?
人工智能
会议咨询1 小时前
2027年电力电子、人工智能与大数据国际会议(PEABD 2027)
大数据·人工智能·电力电子
wangchunyu1141 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
Jsundoku2 小时前
第五章 深度学习 -- 卷积神经网络
人工智能·深度学习·cnn
水如烟2 小时前
孤能子视角:SEP《人工智能的认识论》EIS读法·理解——理解幻觉与解压缩幻觉:同一缺口,两份报告
人工智能
冬奇Lab2 小时前
一天一个开源项目(第249篇):Hallmark —— 一个拒绝“AI 味”的设计 Skill,用 48 套材质主题和浏览器 Linter 约束编程助手
人工智能·开源·资讯