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

相关推荐
退休钓鱼选手17 小时前
[ Pytorch教程 ] 神经网络的基本骨架 torch.nn -Neural Network
pytorch·深度学习·神经网络
冰糖猕猴桃17 小时前
【AI】把“大杂烩抽取”拆成多步推理:一个从单提示到多阶段管线的实践案例
大数据·人工智能·ai·提示词·多步推理
PPIO派欧云17 小时前
PPIO上线GLM-OCR:0.9B参数SOTA性能,支持一键部署
人工智能·ai·大模型·ocr·智谱
雨大王51218 小时前
怎么打造一个能自我进化的制造数字基座?
人工智能·汽车·制造
fengfuyao98518 小时前
基于MATLAB的表面织构油润滑轴承故障频率提取(改进VMD算法)
人工智能·算法·matlab
Java面试题总结18 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
不懒不懒18 小时前
【决策树算法实战指南:从原理到Python实现】
python·决策树·id3·c4.5·catr
爱吃泡芙的小白白18 小时前
深入解析CNN中的Dropout层:从基础原理到最新变体实战
人工智能·神经网络·cnn·dropout·防止过拟合
马猴烧酒.18 小时前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股
DeniuHe18 小时前
用 PyTorch 库创建了一个随机张量,并演示了多种张量取整和分解操作
pytorch