torch.cat 使用小节

torch.cat 使用小节

torch.cat 要求在所指定拼接维度之外的所有维度都要匹配,例如

python 复制代码
import torch
v1 = torch.tensor([[1, 2, 3], [4, 5, 6], [4, 5, 6]])  # 3*3
v2 = torch.tensor([[3, 6, 8]])  # 1*3
torch.cat([v1, v2], dim=1)

运行之后会报错

Sizes of tensors must match except in dimension 1. Expected size 3 but got size 1 for tensor number 1 in the list.

这就是因为这两个向量的第 0 个维度不相等,故无法完成 cat 操作,改成 dim=0 即可得到输出:

python 复制代码
tensor([[1, 2, 3],
        [4, 5, 6],
        [4, 5, 6],
        [3, 6, 8]])

这种操作实际上完成了多个 batch 间数据的合并,若想完成同个 batch 内数据的 cat,要保证第 0 个维度大小一致,即 batchsize 相等。

python 复制代码
import torch

v1 = torch.tensor([[1, 2, 3, 3], [4, 5, 6, 6]])  # 2*4
v2 = torch.tensor([[6, 6], [8, 8]])  # 1*3
torch.cat([v1, v2], dim=1)

可得到预期输出:

python 复制代码
tensor([[1, 2, 3, 3, 6, 6],
        [4, 5, 6, 6, 8, 8]])
相关推荐
Shorasul3 分钟前
Django 信号中为 ImageField 指定自定义保存路径的正确实践
jvm·数据库·python
Wyz201210249 分钟前
CSS如何实现移动端点击高亮去除_设置tap-highlight-color
jvm·数据库·python
日光明媚11 分钟前
SoulX-FlashTalk 技术报告解读:从“严格因果”到“双向流式蒸馏”,实时数字人为什么能做到 0.87s 延迟、32FPS 和长时稳定?
人工智能·python·深度学习·ai作画·aigc·音视频
粉嘟小飞妹儿16 分钟前
如何在云主机上安装Oracle 19c_公网IP绑定与安全组端口开放
jvm·数据库·python
飞Link16 分钟前
掌控 Agent 的时空法则:LangGraph Checkpoint (检查点) 机制深度实战
开发语言·python·算法
zopple20 分钟前
Laravel与ThinkPHP框架深度对比
java·python·php·laravel
格林威24 分钟前
AI视觉检测资源:ONNX → TensorRT 转换 checklist
人工智能·深度学习·数码相机·计算机视觉·视觉检测·工业相机·ai智能
weixin_5860614627 分钟前
为什么Bootstrap的下拉菜单在Firefox下显示异常
jvm·数据库·python
qq_1898070327 分钟前
如何导出特定分区_EXPDP TABLES=表名-分区名进行单区数据备份
jvm·数据库·python
zzwq.29 分钟前
Pandas数据合并完全指南:merge、concat、join从入门到精通
python·数据分析