当前位置: 首页 > news >正文

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站视频参考资料
http://www.lryc.cn/news/371640.html

相关文章:

  • 波拉西亚战记加速器 台服波拉西亚战记免费加速器
  • Mocha + Chai 测试环境配置,支持 ES6 语法
  • 华为网络设备攻击防范
  • RK3588开发笔记-100M网口自协商成1000M网口
  • Python第二语言(十三、PySpark实战)
  • 《阅读的方法》读后感——超越期待的收获
  • 算法训练营第五十八天 | LeetCode 392 判断子序列、卡码网模拟美团笔试第一、二、三题(300/500有待提高)
  • Sa-Token鉴权与网关服务实现
  • 企事业单位安全生产月活动怎样向媒体投稿?
  • MySQL8.0默认TCP端口介绍
  • Javaweb避坑指北(持续更新)
  • Web前端知道:深入探索与无尽挑战
  • QT调用vs2019生成的c++动态库
  • C语言TC中有⼏个画线函数?怎么使⽤?
  • 掌握WhoisAPI,提升域名管理的效率
  • Docker与Docker-Compose详解
  • 微服务之熔断器
  • 【高校科研前沿】北京大学赵鹏军教授团队在Nature Communications发文:揭示城市人群移动的空间方向性
  • 徐州存储服务器会应用在哪些场景?
  • 个人博客搭建
  • 服务器数据库三级等保的一些修改步骤
  • Python私教张大鹏 Vue3整合AntDesignVue之DatePicker 日期选择框
  • springboot+vue前后端分离项目中使用jwt实现登录认证
  • leetcode hot100 之 编辑距离
  • 杨校老师项目之基于SpringBoot的理发店的预约管理系统
  • SpringAI学习及搭建AI原生应用
  • CobaltStrike权限传递MSF
  • 白嫖 kimi 接口 api
  • 借助ChatGPT完成课题申报书中框架思路写作指南
  • SuntoryProgrammingContest2024(AtCoder Beginner Contest 357)