pytorch torch.topk函数介绍

在 PyTorch 中,torch.topk函数用于在输入张量中找到最大的k个值及其索引。

一、函数语法

torch.topk(input, k, dim=None, largest=True, sorted=True, out=None)

  • input:输入张量。
  • k:要返回的最大或最小元素的数量。
  • dim(可选):要进行操作的维度。如果为None,则在扁平的输入张量上进行操作。
  • largest(可选):如果为True,则返回最大的k个值;如果为False,则返回最小的k个值。
  • sorted(可选):如果为True,则返回的k个值将按降序(如果largest=True)或升序(如果largest=False)排列;如果为False,则返回的k个值的顺序是未定义的。
  • out(可选):输出张量,可以是一个已存在的张量,用于存储结果。

二、返回值

该函数返回一个包含两个张量的元组:

  1. 第一个张量是包含最大或最小的k个值的张量。
  2. 第二个张量是包含这些值在输入张量中的索引的张量。

三、使用示例

复制代码
import torch

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

# 找到每行中的最大的两个值及其索引
values, indices = torch.topk(tensor, k=2, dim=1, largest=True)
print("最大的两个值:", values)
print("对应的索引:", indices)

# 找到每列中的最小的两个值及其索引
values, indices = torch.topk(tensor, k=2, dim=0, largest=False)
print("最小的两个值:", values)
print("对应的索引:", indices)

在上述示例中,首先创建了一个二维张量。然后,分别在行维度和列维度上使用torch.topk函数找到最大的两个值及其索引和最小的两个值及其索引,并打印出结果。

相关推荐
磁场转动100万匹6 小时前
PyTorch 版 YOLOv3 源码逐段详解:从配置文件到训练、评估、检测(定制自己的数据集)
人工智能·深度学习·yolo
小白学大数据6 小时前
逆向分析短视频平台 a_bogus 参数:从 JavaScript 混淆到 Python 复现
javascript·python·音视频
lisw056 小时前
“科学前沿极限突破计划”述评!
大数据·人工智能·学习
戴西软件6 小时前
企业如何搭建自己的AI智能体?戴西智能体管理与戴西SKILL管理实战解析
运维·jvm·人工智能·自动化·rpa
青蓝智慧马老师6 小时前
想学数据分析但零基础,正确顺序不是先学 Python
大数据·人工智能·算法
用户2991422196806 小时前
GitHub 热榜项目:日榜(2026-10-17)
人工智能·开源·github
罗小罗同学6 小时前
西交联合腾讯和剑桥团队发表轻量化医学智能体,无需重新训练模型即可大幅提升诊断准确率,同时还可以增强模型解释性
人工智能·深度学习·机器学习·医学图像处理·医工交叉·医学ai
jimmyleeee6 小时前
大模型安全之四十七:当AI拥有行动权——智能体系统开发与安全防御指南
人工智能·安全
2601_962966646 小时前
2027校招:应用统计学转制造业质量管理,SPC、MSA与数据分析怎么学
大数据·人工智能
刘一说6 小时前
D37-全参微调 vs LoRA 选型:什么时候该上全参,什么时候 LoRA 就够了
人工智能·科技