IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Pytorch tensor的拼接与拆分 -> 正文阅读

[人工智能]Pytorch tensor的拼接与拆分

tensor的拼接与拆分

cat函数

torch.cat(tensors,?dim=0,?*,?out=None)?→?Tensor

在指定的维度dim上,连接给定的一组张量。所有张量必须具有相同的形状(连接维度除外)。

例如在0维度上合并df1和df2向量:

?在1维度上df1和df2向量:

?例子:成绩单的合并

【班级1~4 学生 得分】

【班级5~9 学生 得分】

a = torch.rand(4,32,8)
b = torch.rand(5,32,8)
c = torch.cat([a,b],dim=0)
c.shape()
#[9,32,8]

stack函数

torch.stack(tensors,?dim=0,?*,?out=None)?→?Tensor

要合并的两个tensor必须有相同的shape,会新添加一个维度,两个tensor的会沿着新增加的维度合并

例子:

一班:【32个学生 每个学生8门课程】

二班:【32个学生 每个学生8门课程】

stack之后变为【两个班级 每个班级32个学生 每个学生有8门课程】

a = torch.rand(32,8)
b = torch.rand(32,8)
torch.stack([a,b],dim=0).shape
#[2 32 8]

split函数

torch.split(tensor,?split_size_or_sections,?dim=0)

将张量分成块。每个块都是原始张量的视图。

  • 如果 split_size_or_sections 是整数类型,那么张量将被拆分为大小相等的块(如果可能)。如果沿给定维度 dim 的张量大小不能被 split_size 整除,则最后一个块会最小。
  • 如果 split_size_or_sections 是一个列表,那么张量将根据 split_size_or_sections 分为大小为 len(split_size_or_sections) 的块。

参数

  • tensor?(Tensor) – 要拆分的张量

  • split_size_or_sections?(int) or?(list(int)) – 单个块的大小或每个块的大小列表

  • dim?(int) – 沿其拆分张量的维度

举例说明:

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

chunk函数

torch.chunk(input,?chunks,?dim=0)?→ List of Tensors

将张量拆分为特定数量的块。每个块都是输入张量的一个视图。 如果沿给定维度 dim 的张量大小不能被块整除,则最后一个块将更小。

Parameters

  • input?(Tensor) – 要拆分的张量

  • chunks?(int) – 要返回的块数

  • dim?(int) –?沿着其拆分张量的维度

例子1:

a = torch.rand(6,32,8)
b,c,d= torch.chunk(a,3,dim=0)
print(b.shape)
print(c.shape)
print(d.shape)

#torch.Size([2, 32, 8])
#torch.Size([2, 32, 8])
#torch.Size([2, 32, 8])

例子2:

a = torch.rand(5,32,8)
b,c,d= torch.chunk(a,3,dim=0)
print(b.shape)
print(c.shape)
print(d.shape)

#torch.Size([2, 32, 8])
#torch.Size([2, 32, 8])
#torch.Size([1, 32, 8])

例子3:

a = torch.rand(5,32,8)
b,c= torch.chunk(a,2,dim=0)
print(b.shape)
print(c.shape)

#torch.Size([3, 32, 8])
#torch.Size([2, 32, 8])

??

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:27:21  更:2021-08-31 15:28:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/1 10:22:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码