Pytorch学习:torch.max(input,dim,keepdim=False)

这篇具有很好参考价值的文章主要介绍了Pytorch学习:torch.max(input,dim,keepdim=False)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

torch.max()

torch.max(input) → Tensor:返回 input 张量中所有元素的最大值。
注意输入的必须是张量形式,输出的也为张量形式
Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能
Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能
当输入为tuple类型时,会报错,需要将输入改为tensor类型,输出也为tensor类型
Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能

torch.max():官方文档
torch.max(input,dim,keepdim=False,*,out=None)
主要参数:

  • input(Tensor)-输入张量。
  • dim(int)-要减少的维度。
  • keepdim(bool)-输出张量是否保留了 dim 。默认值: False 。
    关键字参数:
  • out(tuple,optional)-两个输出张量的结果元组(max,max_indices)

dim

对于二维数组来说,dim=0为行,dim=1为列
在torch.max()中代表要减少的维度(dimension)

import torch

a = torch.tensor([1, 2, 3, 4])
max = torch.max(a, dim=0)
print(max)

对于以上程序,由于只存在行,所以torch.max(a, dim=0)只能减少的维度为行向量,即dim=0
Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能
如果 max = max = torch.max(a, dim=1),则会报错:维度错误
Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能

注:如果在减少的行中存在多个最大值,则返回第一个最大值的索引。

import torch

a = torch.tensor([4, 2, 3, 4])
max = torch.max(a, dim=0)
print(max)

Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能

keepdim

输出张量是否保留了 dim,即设置是否保留torch.max(input, dim=0, keepdim=True) 中需要消去的dim。

如果 keepdim 是 True ,则输出张量的大小与 input 相同,除了在维度 dim 中它们的大小为1。

dim=0

二维数组中dim=0代表行,torch.max(a, dim=0)代表消去行,求每列的最大值,keepdim=True则代表保留行

import torch

a = torch.tensor([[1, 2, 3, 4],
                  [4, 1, 2, 3],
                  [6, 2, 3, 4],
                  [3, 4, 5, 9]])

# dim = 0
max1_1 = torch.max(a, dim=0, keepdim=False)
max1_2 = torch.max(a, dim=0, keepdim=True)
print(max1_1)
print(max1_2)

Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能
Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能dim=0,消去的维数为行,即求每列的最大值
keepdim=False,vlaues=tensor([6, 4, 5, 9])有一个中括号
keepdim=True,vlaues=tensor([[6, 4, 5, 9]])有两个中括号

indices代表最大值所处的位置(第一列第三个:2,第一列第四个:3,第三列第四个:3,第四列第四个:3)

dim=1

二维数组中dim=1代表列,torch.max(a, dim=0)代表消去列,求每行的最大值,keepdim=True则代表保留列

import torch

a = torch.tensor([[1, 2, 3, 4],
                  [4, 1, 2, 3],
                  [6, 2, 3, 4],
                  [3, 4, 5, 9]])

# dim = 1
max2_1 = torch.max(a, dim=1, keepdim=False)
max2_2 = torch.max(a, dim=1, keepdim=True)
print(max2_1)
print(max2_2)

Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能
Pytorch学习:torch.max(input,dim,keepdim=False),pytorch学习,pytorch,学习,人工智能
dim=1,消去的维数为列,即求每行的最大值
keepdim=False,vlaues=tensor([4, 4, 6, 9])有一个中括号
keepdim=True,vlaues=tensor([[4], [4], [6], [9]])有两个中括号

indices代表最大值所处的位置(第一行第四个:3,第二行第一个:0,第三行第一个:0,第四行第四个:3)

out:返回命名元组 (values, indices)

values 是给定维度 dim 中 input 张量的每行的最大值。
indices 是找到的每个最大值(argmax)的索引位置。文章来源地址https://www.toymoban.com/news/detail-732533.html

到了这里,关于Pytorch学习:torch.max(input,dim,keepdim=False)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入浅出Pytorch函数——torch.max

    分类目录:《深入浅出Pytorch函数》总目录 相关文章: · 深入浅出Pytorch函数——torch.max · 深入浅出Pytorch函数——torch.maximum torch.max 有三种输入形式,根据其输入形式及参数的不同有下列三种返回形式: torch.max(input) :返回输入张量所有元素的最大值。 torch.max(input, dim, keep

    2024年02月15日
    浏览(56)
  • 【安装GPU版本pytorch,torch.cuda.is_available()仍然返回False问题】

    @TOC 检查cuda是否安装,CUDA环境变量是否正确设置,比如linux需要设置在PATH,window下环境变量编辑看看,是否有CUDA 首先查看你环境里的pytorch是否是cuda版本,我这里是conda安装的,使用conda list查看是这样: 圈出来的torch带cuda,那安装的肯定时cuda版本,但是torch.cuda.is_available

    2024年02月10日
    浏览(47)
  • 解决PyTorch无法调用GPU,torch.cuda.is_available()显示False的问题

    在Aliyun ECS上部署Demucs项目时,发现torch始终无法调用GPU。 python -c \\\"import torch;print(torch.cuda.is_available())\\\" 一直显示是False。 需要修改Demucs项目默认的 environment-cuda.yml ,覆盖指定这几个参数 完整文件如下: 如果之前已经用默认的yml文件创建了环境,需先把原来的环境删掉。修改

    2024年02月04日
    浏览(55)
  • 【一文解决】已安装CUDA与Pytorch但torch.cuda.is_available()为False

    已经安装CUDA与Pytorch。但执行如下Python脚本,输出结果为False: 出现这个问题的原因很多,很多文章的分析并不全面。博主遇到这个问题时,也是不断整合网络上零零散散的信息,浪费了不少功夫,因此写下了本文。如果你也遇到了这个问题, 本文致力于帮助你通过这一篇文

    2024年02月09日
    浏览(36)
  • 【Pytorch警告】Using a target size (torch.Size([])) that is different to the input size (torch.Size([1])

    我代码中造成警告的语句是: 原因 :mse_loss损失函数的两个输入Tensor的shape不一致。经过reshape或者一些矩阵运算以后使得shape一致,不再出现警告了。

    2024年02月11日
    浏览(85)
  • 关于pytorch中的dim的理解

    今天碰到一个代码看起来很简单,但是细究原理又感觉好像不太通不太对劲,就是多维tensor数据的操作,比如: y.sum(dim=2) ,乍一看很简单数据相加操作,但是仔细一想,这里在第3维度的数据到底是横向相加还是纵向相加,带着疑问实验几次就明白了。 首先给个完整的例子:

    2024年02月04日
    浏览(36)
  • pytorch的permute(dims) 函数的功能详解

    有三块 二维矩阵 如下 把二维矩阵堆叠起来,就是三维 矩阵 这样的矩阵 从x方向看(0维)  有三块 记为3,每块从y方向看(1维)的行是3,从z方向看(2维)列也是3,故三维矩阵的尺寸就是(3,3,3) permute(dims)是干啥的, 它是操作维度的,二维是转置,原三维不变的情况下

    2024年02月12日
    浏览(35)
  • Pytorch学习:神经网络模块torch.nn.Module和torch.nn.Sequential

    官方文档:torch.nn.Module CLASS torch.nn.Module(*args, **kwargs) 所有神经网络模块的基类。 您的模型也应该对此类进行子类化。 模块还可以包含其他模块,允许将它们嵌套在树结构中。您可以将子模块分配为常规属性: training(bool) -布尔值表示此模块是处于训练模式还是评估模式。

    2024年02月10日
    浏览(43)
  • 【深度学习】torch.utils.data.DataLoader相关用法 | dataloader数据加载器 | pytorch

    dataloader数据加载器属于是深度学习里面非常基础的一个概念了,基本所有的图像项目都会用上,这篇博客就把它的相关用法总结一下。 之所以要写这篇,是想分清楚len(data_loader)和len(data_loader.dataset) 这里加载的数据我们以Mnist手写数据集为例子 torchvision.datasets.MNIST是用来加载

    2024年02月16日
    浏览(58)
  • 深度学习:Pytorch安装的torch与torchvision的cuda版本冲突问题与解决历程记录

    今天不小心将conda环境中的一个pytorch环境中的torch包给搞混了,将其更新了一下,发生了一些问题: 当时运行了一下这个代码:  pip install torchvision --upgrade 导致了环境中包的混乱: 只能说欲哭无泪,当时这个 pytorch环境中我是安装的CUDA11.8的版本应该,后来安装了cpu版本的将

    2024年02月20日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包