无脑入门pytorch系列(二)—— torch.mean

这篇具有很好参考价值的文章主要介绍了无脑入门pytorch系列(二)—— torch.mean。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本系列教程适用于没有任何pytorch的同学(简单的python语法还是要的),从代码的表层出发挖掘代码的深层含义,理解具体的意思和内涵。pytorch的很多函数看着非常简单,但是其中包含了很多内容,不了解其中的意思就只能【看懂代码】,无法【理解代码】。

官方定义

顾名思义,torch.mean返回输入张量中所有元素的平均值:

def mean(input: Tensor, dim: Sequence[Union[str, ellipsis, None]], keepdim: _bool=False, *, dtype: Optional[_dtype]=None, out: Optional[Tensor]=None) -> Tensor:

上述的源码的定义,看起来参数十分多,但实际只需要记住下面几个参数:

  • input,输出是一个张量(tensor),注意如果不是tensor可以通过torch.tensor转换为tensor
  • dim,取平均值的维度,默认值是对tensor里的所有元素取平均值
  • keepdim,即保留张量的维度,因为取平均值后肯定是降维的,但是keepdim=True可以使得输出张量的维度与输入张量保持一致

官方的文档如下,torch.mean

无脑入门pytorch系列(二)—— torch.mean,# 无脑入门pytorch系列,python,pytorch,人工智能,python

demo

看下面一个例子:

matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]

tensor = torch.tensor(matrix)
print(tensor)

输出的结果:

无脑入门pytorch系列(二)—— torch.mean,# 无脑入门pytorch系列,python,pytorch,人工智能,python

直接求mean:

torch.mean(tensor)

出现错误:RuntimeError: mean(): could not infer output dtype. Input dtype must be either a floating point or complex dtype. Got: Long

意思是mean(),只能接受浮点数或复数类型的张量作为输入,所以先将tensor转化为float:

tensor = tensor.float()

不配置任何参数

直接使用torch.mean():

torch.mean(tensor)

无脑入门pytorch系列(二)—— torch.mean,# 无脑入门pytorch系列,python,pytorch,人工智能,python

输出的结果正好是1+2+…+9的平均值是5,所以如果不设置任何参数,那么默认取各个维度的平均值

设置按维度求平均

维度0:

torch.mean(tensor, dim=0)

无脑入门pytorch系列(二)—— torch.mean,# 无脑入门pytorch系列,python,pytorch,人工智能,python

可以理解为矩阵按求平均值。

维度0:

torch.mean(tensor, dim=0)

无脑入门pytorch系列(二)—— torch.mean,# 无脑入门pytorch系列,python,pytorch,人工智能,python

可以理解为矩阵按求平均值。

设置keepdim=True

torch.mean(tensor, dim=0, keepdim=True)

无脑入门pytorch系列(二)—— torch.mean,# 无脑入门pytorch系列,python,pytorch,人工智能,python

其实就是在torch.mean(tensor, dim=0)的基础上,输出的一位张量上加上一对[]从而变为二维张量。

因为之前是按列求和,所以最后压缩为一行,然后补充行。

torch.mean(tensor, dim=1, keepdim=True)

无脑入门pytorch系列(二)—— torch.mean,# 无脑入门pytorch系列,python,pytorch,人工智能,python

而dim=1是按行计算平均值,最后压缩的是列。

总结

torch.mean是个比较简单的函数,但是需要明白以下两点:文章来源地址https://www.toymoban.com/news/detail-628669.html

  • 第二个参数dim,决定了按哪个维度进行计算
  • 第三个参数keepdim,可以将输出张量的维度与输入张量保持一致

到了这里,关于无脑入门pytorch系列(二)—— torch.mean的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Python从入门到人工智能】详解 PyTorch数据读取机制 DataLoader & Dataset(以人民币-RMB二分类实战 为例讲解,含完整源代码+问题解决)| 附:文心一言测试

      我想此后只要能以工作赚得生活费,不受意外的气,又有一点自己玩玩的余暇,就可以算是万分幸福了。                                                              ———《两地书》   🎯作者主页: 追光者♂🔥          🌸个人简介:

    2024年02月11日
    浏览(56)
  • 人工智能学习07--pytorch21--目标检测:YOLO系列理论合集(YOLOv1~v3)

    如果直接看yolov3论文的话,会发现有好多知识点没见过,所以跟着视频从头学一下。 学习up主霹雳吧啦Wz大佬的学习方法: 想学某个网络的代码时: 到网上搜这个网络的讲解 → 对这个网络大概有了印象 → 读论文原文 ( 很多细节都要依照原论文来实现, 自己看原论文十分

    2024年02月10日
    浏览(73)
  • PyTorch中torch、torchtext、torchvision、torchaudio与Python版本兼容性

    torch与torchtext,Python对应关系,来源:https://pypi.org/project/torchtext/ 截止发文,最新版本:torch 2.0.0,torchtext 0.15.1 安装方法: 或 torch与torchvision,Python对应关系,来源:https://github.com/pytorch/vision 截止发文,最新版本:torch 2.0.0,torchvision 0.15.1 安装方法: 或 torch与torchaudio,Pyt

    2024年02月04日
    浏览(81)
  • 【人工智能】— 无监督学习、K-means聚类(K-means clustering)、K-means损失函数,目标函数

    无监督学习是指在没有标签的数据上进行学习,即没有监督信号的指导下进行模型训练。在无监督学习中,我们主要关注从无标签数据中学习出数据的低维结构和隐藏的模式。 通过无标签数据,我们可以预测以下内容: 低维结构:通过无监督学习算法如主成分分析(PCA),

    2024年02月10日
    浏览(44)
  • PyTorch框架中torch、torchvision、torchaudio与python之间的版本对应关系(9月最新版)

    随着python语言和pytorch框架的更新,torchtorchvisiontorchaudio与python之间的版本对应关系也在不断地更新。 最新版本 torch与torchvision 对应关系如下: 稍旧版本 torch与torchvision 对应关系如下: 最新版本 torch与torchaudio 对应关系如下:

    2024年02月21日
    浏览(49)
  • 【人工智能Ⅰ】实验7:K-means聚类实验

    实验7 K-means聚类实验 一、实验目的 学习K-means算法基本原理,实现Iris数据聚类。 二、实验内容 应用K-means算法对iris数据集进行聚类。 三、实验结果及分析 0 :输出数据集的基本信息 参考代码在main函数中首先打印了数据、特征名字、目标值、目标值的名字,iris数据集的结果

    2024年02月05日
    浏览(52)
  • 【PyTorch教程】pytorch入门系列 ——土堆教程的目录及索引

    一、几句题外话 深度学习上手已经很长时间了,还记得最初的入门是跟着 B站up小土堆 的一步步学起来的,从起初的环境配置,到现在调整整个模型的进阶,非常感谢土堆的贡献。 写这个博客的初衷是为了自己 看着方便 ,由于多台电脑多个环境下查看这些内容很麻烦,所以

    2024年03月17日
    浏览(52)
  • python 3.7安装并配置 pytorch(torch 1.8.2 + cuda 11.1 + torchaudio 0.8.2 + torchvision 0.9.2)

    本篇文章主要介绍在Windows下 python 3.7 配置 pytorch,帮助需要的朋友避坑 安装 pytorch 需要多个版本适配,本文提供一种使用于python 3.7 和 cuda 的安装方法,同时给出一些处理问题的建议 python 3.7 是比较稳定的版本,可以根据自己的需求安装,可以参考博客: anaconda安装 补充:

    2024年02月03日
    浏览(61)
  • 运用idea创建javaweb项目的详细步骤(入门无脑)

    1.首先点击file,会出现new标签,然后鼠标悬停在new上会出现右侧的选择框,然后点击project; 2.当完成上述,其会出现一个弹窗,其默认选择java,若不是,则选择java,然后点击next; 3.继续点击next;   4.然后根据自己的需要,给项目命名,一般project name和project location后面的名

    2024年02月07日
    浏览(63)
  • pytorch的安装(CUDA10.2+cuDNN8.3.3+torch1.10+​torchvision​0.11.1+python3.9)

    (已存网盘和硬盘,文件夹含三个文件) 本文基本逻辑是: 一、先根据电脑硬件的条件获取本身CUDA版本,据此以及表格比较得出cuDNN、torch、torchvision、python版本。 二、在 NVIDIA 官网下载CUDA和cuDNN,获取torch的下载链接,网页提供python3.9的下载链接 三、安装CUDA后,把cuDNN这个

    2024年01月17日
    浏览(85)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包