当前位置: 首页 > news >正文

torch 拆分子张量 分割张量

目录

unbind拆分子张量

1. 沿着第n个维度拆分(即按“批次”拆分)

split分割张量

常用用法:

总结:


unbind拆分子张量

import torch

quaternions = torch.tensor([[1, 2, 3, 4], [5, 6, 7, 8]])
result = torch.unbind(quaternions, -1)
print(result)

1. 沿着第n个维度拆分(即按“批次”拆分)

假设你有一个形状为 (batch_size, n) 的张量,你可以沿着第一个维度(即批次维度)拆分它。

split分割张量

返回一个元组,其中包含分割后的子张量。

常用用法:

  1. 按指定大小分割: 当 split_size_or_sections 为一个整数时,表示每个子张量的大小。

    import torch
    
    # 创建一个张量
    tensor = torch.tensor([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    
    # 按照大小 3 分割
    result = torch.split(tensor, 3)
    
    # 输出分割后的结果
    for i, part in enumerate(result):
        print(f"Part {i}: {part}")
    

    这个例子中,张量被分割成了 3 个大小为 3 的子张量和一个大小为 1 的子张量。

  2. 按指定分割长度分割: 当 split_size_or_sections 是一个列表或元组时,表示沿指定维度分割的块数。每个数值对应要分割的子张量的大小。

# 创建一个张量
tensor = torch.tensor([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 按照每个块的大小为 2 和 3 分割
result = torch.split(tensor, [2, 3, 5])

# 输出分割后的结果
for i, part in enumerate(result):
    print(f"Part {i}: {part}")

指定维度进行分割: 可以通过 dim 参数指定沿哪个维度进行分割。

# 创建一个二维张量
tensor = torch.tensor([[1, 2, 3, 4],
                       [5, 6, 7, 8]])

# 沿着维度 1(列)分割,每个子张量包含 2 列
result = torch.split(tensor, 2, dim=1)

# 输出分割后的结果
for i, part in enumerate(result):
    print(f"Part {i}: {part}")

总结:

torch.split 是一个非常实用的工具,能够根据指定的大小或者分割长度将张量分割成多个子张量。常用的应用场景包括:

  • 将数据按批次(batch)分割。

  • 在处理大张量时按一定的块进行分割,方便并行计算或逐块处理。

http://www.dtcms.com/a/109108.html

相关文章:

  • idea运行tomcat项目,很慢的问题
  • 我想尝试做一个钢铁侠反应堆
  • 人工智能与大模型的关系
  • Java学习总结-io流-练习案例
  • 4.3学习总结
  • umi框架开发移动端h5
  • 【MySQL】理解MySQL的双重缓冲机制:Buffer Pool与Redo Log的协同之道
  • C++数据类型(整型、浮点型、字符型、布尔型)
  • 办公设备管理系统(springboot+ssm+jsp+maven)
  • 面向教育领域的实时更新RAG系统:核心模块设计与技术选型实践指南
  • C++:算术运算符
  • 统计子矩阵
  • Parasoft C++Test软件单元测试_操作指南
  • 从内核到应用层:Linux缓冲机制与语言缓冲区的协同解析
  • 【MyBatis】深入解析 MyBatis XML 开发:增删改查操作和方法命名规范、@Param 重命名参数、XML 返回自增主键方法
  • ES中经纬度查询geo_point
  • 图像处理之Homography matrix(单应性矩阵)
  • 2025年4月3日(模数转换器)
  • 【Centos】centos7内核升级-亲测有效
  • 【动态规划】P8638 [蓝桥杯 2016 省 A] 密码脱落
  • 树莓派 5 换清华源
  • 【C语言】C语言文件操作指南
  • 质检LIMS系统在垃圾处理厂的应用 垃圾处理质检的三重挑战与LIMS破局之道
  • 管理系统如何帮助你节省时间和成本?
  • 移动端六大语言速记:第7部分 - 文件与输入输出(I/O)
  • 【网络流 图论建模 最大权闭合子图】 [六省联考 2017] 寿司餐厅
  • 二十八、城市建成区提取——领域分析法
  • vulnhub-DC-2通关攻略
  • 从零构建大语言模型全栈开发指南:第五部分:行业应用与前沿探索-5.2.1模型偏见与安全对齐(Red Teaming实践)
  • 新能源汽车测试中的信号调理模块:从原理到实战应用