PyTorch 统计属性-Tensor基本操作

2024-06-13 11:44

本文主要是介绍PyTorch 统计属性-Tensor基本操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 最小 min, 最大 max, 均值 mean,累加 sum,累乘 prod …

    >>> a = torch.arange(0,8).view(2,4).float()
    >>> a
    tensor([[0., 1., 2., 3.],[4., 5., 6., 7.]])>>> a.min()  	## 最小值:tensor(0.)
    >>> a.max()  	## 最大值:tensor(7.)>>> a.argmin()	## 最小值对应的 idx: tensor(0)
    >>> a.argmax()	## 最大值对应的 idx: tensor(7)>>> a.argmin(dim=1)	## 每行 dim=1 最小值对应的 idx: tensor([0, 0])  每行都是最前面的数最小
    >>> a.argmax(dim=1)	## 每行 dim=1 最大值对应的 idx: tensor([3, 3])  每行都是最后面的数最大>>> a.argmin(dim=1, keepdim=True)  ## 加 keepdim 可以保持原 a 维度
    tensor([[0],[0]])
    >>> a.argmax(dim=1, keepdim=True)  ## 加 keepdim 可以保持原 a 维度
    tensor([[3],[3]])>>> a.topk(3, dim=1)  ## k 大的 value 和对应的 idx
    torch.return_types.topk(
    values=tensor([[3., 2., 1.],[7., 6., 5.]]),
    indices=tensor([[3, 2, 1],[3, 2, 1]]))
    >>> a.topk(3, dim=1, largest=False)   ## k 小的:largest=False
    torch.return_types.topk(
    values=tensor([[0., 1., 2.],[4., 5., 6.]]),
    indices=tensor([[0, 1, 2],[0, 1, 2]]))>>> a.mean()  	## 平均值:tensor(3.5000)
    >>> a.sum()		## 累加值:tensor(28.)
    >>> a.prod()	## 累乘值:tensor(0.)
    
  • norm 范数,非 normalization 不是一个概念

    >>> a = torch.full([1], 8)  # tensor([1, 1, 1, 1, 1, 1, 1, 1])     
    >>> a.float().norm(1)  		#: tensor(8.)
    >>> a.float().norm(2)  		#: tensor(2.8284)>>> b = a.view(2,4) 		# tensor([[1, 1, 1, 1], [1, 1, 1, 1]])
    >>> b.float().norm(1)  		#: tensor(8.)	
    >>> a.float().norm(2)  		#: tensor(2.8284)>>> b.float().norm(1, dim=0)  # 指定 dim:0
    tensor([2., 2., 2., 2.])
    >>> b.float().norm(1, dim=1)  # 指定 dim: 1
    tensor([4., 4.])
    
    • .norm() 时可能出现的 RuntimeError 解决方案:加 .float() -> a.float.norm()
      >>> a.norm()
      Traceback (most recent call last):File "<stdin>", line 1, in <module>File "D:\Tutu.Python\lib\site-packages\torch\tensor.py", line 389, in normreturn torch.norm(self, p, dim, keepdim, dtype=dtype)File "D:\Tutu.Python\lib\site-packages\torch\functional.py", line 1290, in normreturn _VF.frobenius_norm(input, dim=(), keepdim=keepdim)  # type: ignore
      RuntimeError: Can only calculate the mean of floating types. Got Long instead.
      

  • B站视频参考资料

这篇关于PyTorch 统计属性-Tensor基本操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057210

相关文章

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计

Python如何调用另一个类的方法和属性

《Python如何调用另一个类的方法和属性》在Python面向对象编程中,类与类之间的交互是非常常见的场景,本文将详细介绍在Python中一个类如何调用另一个类的方法和属性,大家可以根据需要进行选择... 目录一、前言二、基本调用方式通过实例化调用通过类继承调用三、高级调用方式通过组合方式调用通过类方法/静

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as