百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

torch.mak/torch.topk(torch是什么意思)

ztj100 2024-11-03 16:15 29 浏览 0 评论

torch.max

torch.max() 这个函数是用来消去维度的,被消去的维度只保留最大值。

torch.max函数原型如下:

"""
input (Tensor) – the input tensor.
dim (int) – the dimension to reduce.即所要消去的那个维度
keepdim (bool) – 输出张量是否保留规约掉的那个维度. Default: False.
"""
"""
返回 input tensor 中所有元素的最大值。
"""
torch.max(input) → Tensor
"""
返回一个 namedtuple (values, indices),
values表示指定维度的最大值,
indices表示最大值所在的索引,
如果给定维度有多个最大值,返回第一个最大值所在的索引。
"""
torch.max(input, dim, keepdim=False) -> (Tensor, LongTensor):

比如上面这张图,dim=0的方向为箭头j的方向,确定一个j的值就可以确定一层数据,如j=1对应橙色数据,当要对dim=0取max,即规约dim=0,那么最终只会剩下一层数据。

dim=0有三个索引0、1、2,max操作只保留每个对应位置的最大值,因为规约后这个维度就剩一个元素了,所以该维度可以去掉。

当要规约dim=1时,dim=1也有三个索引0、1、2,max操作只保留每个对应位置的最大值。

当要规约dim=2时,维度0,1都已经被确定,此时维度2有3个元素,每个元素是一个标量,max操作把3个标量变成一个标量。

torch.topk

torch.topk是保留指定维度前k大的元素,原型如下:

"""
input (Tensor) – 输入张量(必须是torch的张量类型)
k (int) – 需要返回的topk的个数
dim (int, optional) – the dimension to sort along,默认为最后一维
largest (bool, optional) –是否返回最大的topk个元素,默认为True
sorted (bool, optional) –是否对返回元素进行排序,默认为True,即降序排列
return:返回值为k个在指定维度上最大或最小的元素和它们的索引,两者形状一致
"""
torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) 

示例:

t = torch.rand(3,5)
"""
tensor([[0.1501, 0.1785, 0.9239, 0.7364, 0.0742],
        [0.4710, 0.9974, 0.9749, 0.4824, 0.2628],
        [0.5910, 0.3075, 0.0327, 0.6995, 0.5297]])
"""
t.topk(k=2,dim=0,largest=True, sorted=True)
"""
torch.return_types.topk(
values=tensor([[0.5910, 0.9974, 0.9749, 0.7364, 0.5297],
               [0.4710, 0.3075, 0.9239, 0.6995, 0.2628]]),
indices=tensor([[2, 1, 1, 0, 2],
                [1, 2, 0, 2, 1]]))
"""
 t.topk(k=2,dim=1,largest=True, sorted=True)
"""
torch.return_types.topk(
values=tensor([[0.9239, 0.7364],
        [0.9974, 0.9749],
        [0.6995, 0.5910]]),
indices=tensor([[2, 3],
        [1, 2],
        [3, 0]]))
"""

相关推荐

再说圆的面积-蒙特卡洛(蒙特卡洛方法求圆周率的matlab程序)

在微积分-圆的面积和周长(1)介绍微积分方法求解圆的面积,本文使用蒙特卡洛方法求解圆面积。...

python编程:如何使用python代码绘制出哪些常见的机器学习图像?

专栏推荐...

python创建分类器小结(pytorch分类数据集创建)

简介:分类是指利用数据的特性将其分成若干类型的过程。监督学习分类器就是用带标记的训练数据建立一个模型,然后对未知数据进行分类。...

matplotlib——绘制散点图(matplotlib散点图颜色和图例)

绘制散点图不同条件(维度)之间的内在关联关系观察数据的离散聚合程度...

python实现实时绘制数据(python如何绘制)

方法一importmatplotlib.pyplotaspltimportnumpyasnpimporttimefrommathimport*plt.ion()#...

简单学Python——matplotlib库3——绘制散点图

前面我们学习了用matplotlib绘制折线图,今天我们学习绘制散点图。其实简单的散点图与折线图的语法基本相同,只是作图函数由plot()变成了scatter()。下面就绘制一个散点图:import...

数据分析-相关性分析可视化(相关性分析数据处理)

前面介绍了相关性分析的原理、流程和常用的皮尔逊相关系数和斯皮尔曼相关系数,具体可以参考...

免费Python机器学习课程一:线性回归算法

学习线性回归的概念并从头开始在python中开发完整的线性回归算法最基本的机器学习算法必须是具有单个变量的线性回归算法。如今,可用的高级机器学习算法,库和技术如此之多,以至于线性回归似乎并不重要。但是...

用Python进行机器学习(2)之逻辑回归

前面介绍了线性回归,本次介绍的是逻辑回归。逻辑回归虽然名字里面带有“回归”两个字,但是它是一种分类算法,通常用于解决二分类问题,比如某个邮件是否是广告邮件,比如某个评价是否为正向的评价。逻辑回归也可以...

【Python机器学习系列】拟合和回归傻傻分不清?一文带你彻底搞懂

一、拟合和回归的区别拟合...

推荐2个十分好用的pandas数据探索分析神器

作者:俊欣来源:关于数据分析与可视化...

向量数据库:解锁大模型记忆的关键!选型指南+实战案例全解析

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在...

用Python进行机器学习(11)-主成分分析PCA

我们在机器学习中有时候需要处理很多个参数,但是这些参数有时候彼此之间是有着各种关系的,这个时候我们就会想:是否可以找到一种方式来降低参数的个数呢?这就是今天我们要介绍的主成分分析,英文是Princip...

神经网络基础深度解析:从感知机到反向传播

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在...

Python实现基于机器学习的RFM模型

CDA数据分析师出品作者:CDALevelⅠ持证人岗位:数据分析师行业:大数据...

取消回复欢迎 发表评论: