首页 > 其他分享 >pytorch -- topk()

pytorch -- topk()

时间:2023-06-14 18:34:05浏览次数:56  
标签:dim -- optional top1 pytorch topk largest input True


torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)

 pytorch中文官网文档:http://www.mamicode.com/info-detail-2217311.html

沿给定dim维度返回输入张量input中 k 个最大值。
如果不指定dim,则默认为input的最后一维。
如果为largest为 False ,则返回最小的 k 个值。

返回一个元组 (values,indices),其中indices是原始输入张量input中测元素下标。
如果设定布尔值sorted 为_True_,将会确保返回的 k 个值被排序。

参数:

  • input (Tensor) – 输入张量
  • k (int) – “top-k”中的k
  • dim (int, optional) – 排序的维
  • largest (bool, optional) – 布尔值,控制返回最大或最小值
  • sorted (bool, optional) – 布尔值,控制返回值是否排序
  • out (tuple, optional) – 可选输出张量 (Tensor, LongTensor) output buffer

--------------------------实例--------------------

假设神经网络的输出如下,为二分类。batch_size=4

import torch

output = torch.tensor([[-5.4783, 0.2298],
                           [-4.2573, -0.4794],
                           [-0.1070, -5.1511],
                           [-0.1785, -4.3339]])

得到其top1值操作如下:

maxk = max((1,))  # 取top1准确率,若取top1和top5准确率改为max((1,5))
_, pred = output.topk(maxk, 1, True, True)

topk参数中,maxk取得是top1准确率,dim=1是按行取值, largest=1是取最大值

结果如下,

_
tensor([[ 0.2298],
        [-0.4794],
        [-0.1070],
        [-0.1785]])
pred
tensor([[1],
        [1],
        [0],
        [0]])

 

_是top1的值,pred是最大值的索引(size=4*1),一般会进行转置处理同真实值对比

 

 

 

 

 

 

 

标签:dim,--,optional,top1,pytorch,topk,largest,input,True
From: https://blog.51cto.com/u_16159492/6479861

相关文章

  • FFT 学习笔记
    首先就是中考这几天我们学校做考场,然后初二放假在家写作业。然后我就摸鱼来推之前不会的FFT的式子,推一推发现诶麻麻我懂了!麻麻我悟了麻麻!于是在放假第二天我写下了这样一篇学习笔记qwq多项式的系数表示和点值表示我们都知道,一个\(n\)项多项式,如果我们写成一个函数,就可以......
  • Rust 声明式宏中的 Metavariables 有哪些
    Metavariables官方文档确实写得很好,但是缺少一些风味,容易催眠......
  • linux 服务器安装anaconda3.5, 远程使用jupyter
    安装anaconda1.下载脚本wgethttps://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh2.运行安装向导,遇到许可证询问回答'yes'bashAnaconda3-5.2.0-Linux-x86_64.sh 默认位置安装就好,遇到询问就选‘yes’3.确认是否安装成功  conda--version如果没有继续.............
  • jbpm4配置library
    右键项目名称->BuildPath->ConfigureBuildPath->Libraries->AddExternalJARs...选择jbpm4.4文件夹下面的jbpm.jar然后添加jbpm4.4/lib文件夹下面的所有jar包JRESystemLibrary系统换成要和自己的保持一致,我是1.8的......
  • 【后端面经-数据库】MySQL的事务隔离级别简介
    目录0.事务的概念1.三类问题2.事务隔离级别3.操作指令4.总结5.参考博文0.事务的概念事务指的是一连串的集中操作指令,一个事务的执行必须执行完所有的动作才能算作执行结束。事务具有四个特点,简记作ACID:A-Atomicity:原子性,事务的执行必须保证所有的动作都执行完毕;C-Co......
  • windows/mac/linux jupyter notebook 切换默认环境
    很多人跟我讲jupyternotebook都是运行在默认环境下,不好更改,但是我又喜欢创建虚拟环境,要切换到虚拟环境下运行,以下几招即可。终端下进行,windows版本/mac版本基本一样。1.查看所有环境  condaenvlist2.激活你要用的环境,activateXXX,我的虚拟环境为luo3.condainstallipyk......
  • 软件测试|教你用Python处理PDF文件(一)
    前言点击获取更多技术资料!我们在工作中,难免会遇到需要处理PDF文件的情况,PDF文件与Word文件不同,内容提取不是很容易,表格和图片都需要特别处理。不过PDF有一个优势,PDF可以跨平台使用,Windows系统,Mac系统都可以打开PDF文件,不像doc文件,需要在word或者类似的软件中才能打开。但是PDF......
  • python nohup 远程运行不宕机方法
    远程运行最怕断电,训练了几个小时的数据说没就没,或者停止运行。用nohup记录代码的输出,还可以不受断电的影响。方法1.用nohup运行一个python文件nohuppython-umain.py>nohup.out2>&1&除了main.py换成自己的文件名,nohup.out也可以改为其他名字,nohup1.out等。其余照搬。不......
  • 4. 声明式事务
    4.1、JdbcTemplate4.1.1、简介Spring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库操作4.1.2、准备工作①加入依赖<dependencies>  <!--基于Maven依赖传递性,导入spring-context依赖即可导入当前所需所有jar包-->  <dependency>    <groupI......
  • 云服务器创建普通用户
    今天由于有点小东西,需要添加一个普通用户,并配置ssh登录,然后搞了很久,有点尴尬,mark一下可以看下这篇blog:传送门如果不想和root一个group的话,可以先添加一个groupsudogroupaddtest然后添加用户,分配组,配置用户的文件位置,常规操作:sudouseradd-d/home/test-gtest-s/bin/bashte......