PyTorch 索引与切片-Tensor基本操作

以如下 tensor a 为例,展示常用的 indxing, slicing 及其他高阶操作

python3 复制代码
>>> a = torch.rand(4,3,28,28)
>>> a.shape
torch.Size([4, 3, 28, 28])
  • Indexing: 使用索引获取目标对象,[x,x,x,....]

    python3 复制代码
    >>> a[0].shape
    torch.Size([3, 28, 28])
    >>> a[0,0].shape
    torch.Size([28, 28])
    >>> a[0,0,0].shape 
    torch.Size([28])
    >>> a[0,0,0,0].shape 
    torch.Size([])
  • Slicing: 使用切片获取一截目标对象,::step

    python3 复制代码
    >>> a[:2].shape
    torch.Size([2, 3, 28, 28])
    >>> a[0, :2].shape 
    torch.Size([2, 28, 28])
    >>> a[0, 0, :2].shape 
    torch.Size([2, 28])
    >>> a[0, 0, 0, :2].shape 
    torch.Size([2])
  • 其他汇总:

    python3 复制代码
    >>> a.index_select(dim, torch.tensor([idx_1,idx_2, ...]))  ## by specific idx
    >>> torch.take(a, torch.tensor([idx_1, idx2, ...]))  ## 不指定 dim 先打平 a 再按序提取 
    >>> a[a.ge(0.5)]  ## by mask=a.ge(0.5),该方法没有保持 shape

相关推荐
笔触狂放1 天前
【机器学习】综合实训(一)
人工智能·机器学习
智算菩萨1 天前
国内外最新AI语言模型行情分析2025年9月最新内容
人工智能
ningmengjing_1 天前
激活函数:神经网络的“灵魂开关”
人工智能·深度学习·神经网络
Billy_Zuo1 天前
人工智能机器学习——逻辑回归
人工智能·机器学习·逻辑回归
东风西巷1 天前
Balabolka:免费高效的文字转语音软件
前端·人工智能·学习·语音识别·软件需求
非门由也1 天前
《sklearn机器学习——管道和复合估计器》联合特征(FeatureUnion)
人工智能·机器学习·sklearn
l12345sy1 天前
Day21_【机器学习—决策树(1)—信息增益、信息增益率、基尼系数】
人工智能·决策树·机器学习·信息增益·信息增益率·基尼指数
非门由也1 天前
《sklearn机器学习——管道和复合估算器》异构数据的列转换器
人工智能·机器学习·sklearn
计算机毕业设计指导1 天前
基于ResNet50的智能垃圾分类系统
人工智能·分类·数据挖掘
飞哥数智坊1 天前
终端里用 Claude Code 太难受?我把它接进 TRAE,真香!
人工智能·claude·trae