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

相关推荐
PingCAP1 分钟前
从 DB-Engines 排名攀升看 TiDB 全球突破之路
数据库·人工智能·tidb
安迪小宝8 分钟前
python基础语法13-装饰器
开发语言·前端·python
大明哥_19 分钟前
【Coze 实战教程】- 手把手教你搭建第一个流程图!手把手教学,完全免费教程
人工智能
集成显卡19 分钟前
AI | 字节跳动 AI 中文IDE编辑器 Trae 初体验
ide·人工智能·vscode·编辑器
Niuguangshuo23 分钟前
Python设计模式:策略模式
python·设计模式·策略模式
Mysticbinary32 分钟前
Python 迭代器和生成器概念
python·迭代器·生成器
weixin_4578858233 分钟前
DeepSeek:AI如何重构搜索引擎时代的原创内容生态
人工智能·搜索引擎·ai·重构·deepseek
kaka.liulin -study34 分钟前
Multi Agents Collaboration OS:数据与知识协同构建数据工作流自动化
人工智能·python·深度学习·数据分析
newxtc37 分钟前
【中检在线-注册安全分析报告】
人工智能·安全·网易易盾·极验
红队it1 小时前
【机器学习算法】基于python商品销量数据分析大屏可视化预测系统(完整系统源码+数据库+开发笔记+详细启动教程)✅
python·机器学习·数据分析