当前位置: 首页 > news >正文

【Pytorch】topk函数

topk 是 PyTorch 中的一个函数,用于从张量中选取最大(或最小)的 k 个元素及其对应的索引。其定义如下:

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

参数说明

  • input (Tensor): 输入张量。
  • k (int): 要选取的最大(或最小)元素的数量。
  • dim (int, 可选): 指定沿着哪个维度进行操作。默认为 None,此时沿着最后一个维度进行操作。
  • largest (bool, 可选): 如果为True,则选取最大的 k 个元素;如果为 False,则选取最小的 k 个元素。默认为 True。
  • sorted (bool, 可选): 如果为 True,则返回的值是排序过的(即最大的值排在前面)。如果为 False,则返回的值是按照它们在原张量中的顺序排列。默认为 True。
  • out (tuple, 可选): 可以指定一个元组来存储输出结果。元组应该包含两个张量,分别用于存储值和索引。默认为None。

代码片段赏析:

    def get_embedding_indices(self, points):r"""Compute the indices of pair-wise distance embedding and triplet-wise angular embedding.Args:points: torch.Tensor (B, N, 3), input point cloudReturns:d_indices: torch.FloatTensor (B, N, N), distance embedding indicesa_indices: torch.FloatTensor (B, N, N, k), angular embedding indices"""batch_size, num_point, _ = points.shapedist_map = torch.sqrt(pairwise_distance(points, points))  # (B, N, N)d_indices = dist_map / self.sigma_dk = self.angle_k##! largest=False的含义是选择K个距离最小的点, dim=2代表从dist_map的第二个维度来选择knn_indices = dist_map.topk(k=k + 1, dim=2, largest=False)[1][:, :, 1:]  # 这里将 dist_map.topk会返回values和indices, 用索引1来取出indices后, 再从所有的knn中去掉自身, 所以取[:, :, 1:] 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Postgresql导入矢量数据
  • LVS详细配置
  • javacpp使用入门
  • Python爬虫(8)
  • MySQL --- 用户管理
  • C语言 | Leetcode C语言题解之第327题区间和的个数
  • vscode插件中的图标怎么设置
  • 理解Go语言中多种并发模式
  • 2024年6月 青少年机器人技术等级考试理论综合试卷(二级)
  • 文件共享服务NFS(服务名nfs,端口tcp/2049)
  • Codeforces 874 div3 A-G
  • pytorch setattr vs. add_module区别
  • 【日常记录-MySQL】MySQL设置root用户密码
  • 英语文化中的音乐分类及其发展历史(Classical、Jazz、Rock、Pop、Electronic、Country、RB、Hip-Hop)
  • 虚拟dom-Diff算法
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • JavaScript设计模式系列一:工厂模式
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Unix命令
  • vue-cli在webpack的配置文件探究
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 深入 Nginx 之配置篇
  • 温故知新之javascript面向对象
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • elasticsearch-head插件安装
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • mysql面试题分组并合并列
  • #14vue3生成表单并跳转到外部地址的方式
  • #APPINVENTOR学习记录
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (145)光线追踪距离场柔和阴影
  • (16)Reactor的测试——响应式Spring的道法术器
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (js)循环条件满足时终止循环
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (二)springcloud实战之config配置中心
  • (论文阅读11/100)Fast R-CNN
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十一)图像的罗伯特梯度锐化
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)h264中avc和flv数据的解析
  • (转)socket Aio demo
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .md即markdown文件的基本常用编写语法
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET的数据绑定
  • .net反混淆脱壳工具de4dot的使用