pytorch笔记:split

torch.split 是 PyTorch 中的一个函数,用于将张量按指定的大小或张量数量进行分割

1 基本使用方法

python 复制代码
torch.split(tensor, split_size_or_sections, dim=0)

|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| tensor | 要分割的输入张量 |
| split_size_or_sections | 以是整数或整数列表。 * 如果是整数,那么它表示每个分割的大小。如果张量在给定维度上的大小不能被该值整除,最后一段会小于其他段。 * 如果是整数列表,那么它表示每个分割的确切大小。列表的总和必须等于张量在给定维度上的大小。 * 使用整数列表时,确保其元素之和等于所分割维度的大小 |
| dim | 要分割的维度,默认值为0 |

返回一个张量的元组,其中每个张量是原始张量的一个分割。

也可以直接tensor.split(...)

2 举例

python 复制代码
import torch

x = torch.tensor([1, 2, 3, 4, 5, 6, 7, 8])
torch.split(x, 3)
#(tensor([1, 2, 3]), tensor([4, 5, 6]), tensor([7, 8]))


torch.split(x, [2, 4, 2])
#(tensor([1, 2]), tensor([3, 4, 5, 6]), tensor([7, 8]))
python 复制代码
a = torch.arange(12).reshape(3,4)
a
'''
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]])
'''

torch.split(a,2)
'''
(tensor([[0, 1, 2, 3],
         [4, 5, 6, 7]]),
 tensor([[ 8,  9, 10, 11]]))
'''

torch.split(a,2,dim=1)
'''
(tensor([[0, 1],
         [4, 5],
         [8, 9]]),
 tensor([[ 2,  3],
         [ 6,  7],
         [10, 11]]))
'''
相关推荐
北京耐用通信几秒前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同
人工智能·科技·物联网·网络协议·自动化·信息与通信
平安的平安1 分钟前
空间智能AI模型的推理加速优化实践
人工智能
baby_hua2 分钟前
20251217_大模型的分布式训练
人工智能
哈哈你是真的厉害6 分钟前
CANN生态核心算子库合集:赋能AIGC多模态落地的全链路算力支撑
人工智能·aigc·cann
imbackneverdie6 分钟前
2026国自然申请书模板大改版,科研人员如何应对?
人工智能·自然语言处理·aigc·科研·学术·国自然·国家自然科学基金
哈哈你是真的厉害6 分钟前
驾驭万亿参数 MoE:深度剖析 CANN ops-transformer 算子库的“核武库”
人工智能·深度学习·aigc·transformer
忆~遂愿6 分钟前
CANN ATVOSS 算子库深度解析:基于 Ascend C 模板的 Vector 算子子程序化建模与融合优化机制
大数据·人工智能
喵叔哟14 分钟前
02-YOLO-v8-v9-v10工程差异对比
人工智能·yolo·机器学习
浅念-15 分钟前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
玄同76516 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱