范数1:所有元素的绝对值的求和
范数2:所有元素的绝对值的平方和的开方
max():矩阵中的最大值以及相应的index
min():矩阵中的最小值以及相应的index
mean():平均值
prod():累乘
sum():求和
argmax():返回最大值的index
argmin():返回最小值的index
argmax与argmin不带参数的话,会将矩阵先打平之后再寻找最值的index,这样找到的index一定只是一维的,而不是打平之前的index
argmax(dim=1)来指定进行比较的方向

一、norm:范数

范数1:所有元素的绝对值的求和

范数2:所有元素的绝对值的平方和的开方

a = torch.full([8],1)
b = a.view(2,4)
c = a.view(2,2,2)a.norm(1),b.norm(1),c.norm(1)
#都是tensor(8)a.norm(2),b.norm(2),c.norm(2)
#都是tensor(2.8284)  根号8

在指定的维数上面进行norm的查看,取哪个维度的范数,该维度就会被消掉。

a = torch.full([8],1)
b = a.view(2,4)
c = a.view(2,2,2)b.norm(1,dim=1)
#tensor([4,4])  一共两行 按行取

二、mean、sum、prod、max、min、argmin、argmax

argmin、argmax:不加参数时,将矩阵打平为一维,然后取最小值、最大值的索引;

import torcha = torch.randn(4, 6)print('a.shape = ', a.shape)
print('a = ', a)a_argmax = a.argmax()
a_argmax_dim_0 = a.argmax(dim=0)
a_argmax_dim_1 = a.argmax(dim=1)print('\na_argmax = ', a_argmax)
print('a_argmax_dim_0 = ', a_argmax_dim_0)
print('a_argmax_dim_1 = ', a_argmax_dim_1)

打印结果:

a.shape =  torch.Size([4, 6])
a =  tensor([[ 0.4317, -0.9791, -1.8569,  0.9546,  1.5674, -0.7068],[ 0.4386, -1.5702,  0.9274,  0.9188, -1.3072, -1.2542],[ 0.7009, -0.1240,  1.0909,  0.5051,  1.4061, -0.7690],[-0.7982,  0.3734,  0.9044,  0.8111, -0.1462,  0.0558]])a_argmax =  tensor(4)
a_argmax_dim_0 =  tensor([2, 3, 2, 0, 0, 3])
a_argmax_dim_1 =  tensor([4, 2, 4, 2])

三、keepdim

四、topk、kthvalue

1、topk:前k个最值

import torcha = torch.randn(4, 6)print('a.shape = ', a.shape)
print('a = ', a)a_topk = a.topk(3, dim=1)
print('\na_topk = ', a_topk)

打印结果:

a.shape =  torch.Size([4, 6])
a =  tensor([[ 0.5713, -0.8378, -0.9350,  1.4258,  1.0426, -1.3174],[-1.5093, -0.9687,  1.1797,  0.9376, -0.2584,  0.3872],[ 1.7028, -1.4444, -0.5496,  0.0120, -0.2293, -1.5676],[-0.0805,  1.0818, -1.0642, -1.1229,  0.1533, -0.9521]])a_topk =  torch.return_types.topk(
values=tensor([[ 1.4258,  1.0426,  0.5713],[ 1.1797,  0.9376,  0.3872],[ 1.7028,  0.0120, -0.2293],[ 1.0818,  0.1533, -0.0805]]),
indices=tensor([[3, 4, 0],[2, 3, 5],[0, 3, 4],[1, 4, 0]]))Process finished with exit code 0

2、kthvalue:排序后第k小的元素的值

import torcha = torch.randn(4, 6)print('a.shape = ', a.shape)
print('a = ', a)a_kthvalue = a.kthvalue(3, dim=1)
print('\na_kthvalue = ', a_kthvalue)

打印结果:

a.shape =  torch.Size([4, 6])
a =  tensor([[-0.6937, -2.6252, -0.0817,  0.1022, -0.4947, -0.0497],[ 1.5205,  0.1827, -1.1397,  2.1021,  1.0715,  1.2167],[-1.6002,  1.1374, -1.2099,  2.4795, -0.6292, -1.1339],[ 0.9659, -0.1593, -0.0963,  0.8514, -1.0020,  0.9966]])a_kthvalue =  torch.return_types.kthvalue(values=tensor([-0.4947,  1.0715, -1.1339, -0.0963]),indices=tensor([4, 4, 5, 2]))Process finished with exit code 0

五、compare:>、>=、<、<=、!=、==

1、>

import torcha = torch.randn(4, 6)print('a.shape = ', a.shape)
print('a = ', a)a_0 = a > 0
print('\na_0 = ', a_0)

打印结果:

a.shape =  torch.Size([4, 6])
a =  tensor([[-1.3893,  1.4089, -0.1790, -0.4641, -2.9107, -1.2560],[ 0.1702,  0.3689, -1.4860,  0.5642,  0.8496,  0.4877],[ 0.7780, -0.5726,  1.0474,  0.7246,  0.2890, -1.1601],[ 1.2610,  0.1574, -0.7690,  0.7012,  0.2023,  0.8884]])a_0 =  tensor([[False,  True, False, False, False, False],[ True,  True, False,  True,  True,  True],[ True, False,  True,  True,  True, False],[ True,  True, False,  True,  True,  True]])Process finished with exit code 0

2、!=

import torcha = torch.randn(4, 6)print('a.shape = ', a.shape)
print('a = ', a)a_0 = a != 0
print('\na_0 = ', a_0)

打印结果:

a.shape =  torch.Size([4, 6])
a =  tensor([[ 0.0204,  0.3504,  1.2778, -0.8016, -2.2371, -2.1239],[-0.3999,  2.6354,  3.4434,  0.0612, -0.7063, -0.2649],[ 0.1774, -0.1433, -1.0806, -2.4606, -0.4880,  0.4409],[-1.2463,  0.8048,  0.9639, -0.1631,  0.4157, -0.1088]])a_0 =  tensor([[True, True, True, True, True, True],[True, True, True, True, True, True],[True, True, True, True, True, True],[True, True, True, True, True, True]])Process finished with exit code 0

3、==

import torcha = torch.ones(4, 6)
b = torch.randn(4, 6)a_b_eq01 = torch.eq(a, b)
a_b_eq02 = a == bprint('a_b_eq01 = ', a_b_eq01)
print('a_b_eq02 = ', a_b_eq02)a_a_eq01 = torch.eq(a, a)
a_a_eq02 = a == aprint('\na_a_eq01 = ', a_a_eq01)
print('a_a_eq02 = ', a_a_eq02)

打印结果:

a_b_eq01 =  tensor([[False, False, False, False, False, False],[False, False, False, False, False, False],[False, False, False, False, False, False],[False, False, False, False, False, False]])
a_b_eq02 =  tensor([[False, False, False, False, False, False],[False, False, False, False, False, False],[False, False, False, False, False, False],[False, False, False, False, False, False]])a_a_eq01 =  tensor([[True, True, True, True, True, True],[True, True, True, True, True, True],[True, True, True, True, True, True],[True, True, True, True, True, True]])
a_a_eq02 =  tensor([[True, True, True, True, True, True],[True, True, True, True, True, True],[True, True, True, True, True, True],[True, True, True, True, True, True]])Process finished with exit code 0



参考资料:
tensor的统计属性

Pytorch:Tensor的统计属性【norm:范数】、【mean、sum】【prod:累乘】【argmin、argmax:最值索引】【keepdim】【kthvalue:第k小的元素、topk】相关推荐

  1. 13,12_基本运算,add/minus/multiply/divide,矩阵相乘mm,matmul,pow/sqrt/rsqrt,exp/log近似值,统计属性,mean,sum,min,max

    1.12.基本运算 1.12.1.add/minus/multiply/divide 1.12.2.矩阵相乘mm,matmul 1.12.3.pow/sqrt/rsqrt 1.12.4.exp/log ...

  2. pytorch Tensor及其基本操作

    转自: https://zhuanlan.zhihu.com/p/36233589 由于之前的草稿都没了,现在只有重写-. 我好痛苦 本章只是对pytorch的常规操作进行一个总结,大家看过有脑子里有 ...

  3. pytorch tensor查找0_Pytorch tensor(0): Tensor Introduction

    1. Instances of the torch.Tensor class Pytorch中tensor是torch.Tensor类的实例 2. Tensor attributes torch.Te ...

  4. python history没有定义_python – AttributeError:’Tensor’对象没有属性’_keras_history’...

    我找了所有"'Tensor'对象没有属性***"但似乎没有一个与Keras相关(除了 TensorFlow: AttributeError: 'Tensor' object has ...

  5. 【项目实战课】基于Pytorch的StyleGAN人脸属性(表情、年龄、性别)编辑实战

    欢迎大家来到我们的项目实战课,本期内容是<基于Pytorch的StyleGAN人脸属性编辑实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码 ...

  6. ITK:获取图像中标记区域的统计属性

    ITK:获取图像中标记区域的统计属性 内容提要 输出结果 C++实现代码 内容提要 输出结果 Number of labels: 2 min: 255 max: 255 median: 0 mean: ...

  7. opencv mat 修改_C++ opencv矩阵和pytorch tensor的互相转换

    矩阵和tensor相互转换 cvmat到tensor tips:这里主要要注意的就是在opencv和pytorch中存储顺序的差异 cv::cvtColor(frame, frame, CV_BGR2 ...

  8. matlab中向量norm,【Matlab开发】matlab中norm范数以及向量点积、绘图设置相关

    [Matlab开发]matlab中norm范数以及向量点积.绘图设置相关 标签(空格分隔): [Matlab开发] 声明:引用请注明出处外链网址已屏蔽 norm范数使用 help norm norm ...

  9. pytorch tensor 初始化_PyTorch简明笔记[1]-Tensor的初始化和基本操作

    听麻麻说,偷偷收藏而不感谢是不礼貌的,至少应该点个赞~我觉得麻麻说的对! 不断地被人安利PyTorch,终于忍不住诱惑决定入坑了. 当初学习TensorFlow的时候,没有系统性地学习.之前TF的英文 ...

最新文章

  1. OpenCV代码提取:cvtColor函数的实现
  2. 淘宝网消费者年维权成功金额达1.69亿
  3. 1、leetcode437 路和总径3
  4. on java 8 学习笔记 2022.2.16
  5. HDU 4121 Xiangqi 模拟题
  6. 《Reids 设计与实现》第十四章 集群(上)
  7. python免费全套教程-2020全网 最详细的Python入门教程完整版,无偿分享,收藏
  8. 创建oracle管理用户名和密码是什么情况,Oracle创建时默认创建的用户以及密码
  9. 一段时间即可做一些事情,如二十分钟
  10. CodeProject终于迁到Asp.Net了
  11. linux异步io缺陷,具有libaio性能问题的Linux异步IO
  12. python在财务中的应用实训报告-数据科学与大数据技术专业实训解决方案
  13. C语言双向链表的实现
  14. dorado关于下拉框的的onSelect()方法
  15. [BZOJ1513]Tet-Tetris 3D
  16. BUCK启动和停止工作的波形
  17. js不足十位自动补0函数
  18. 数据结构——王卓老师PPT
  19. android将apk生成的二维码放到本地tomcatjenkin(Android 生成二维码)
  20. c语言获取天气信息示例(通过心知天气api获取)

热门文章

  1. 【达梦数据库】DM 查询优化
  2. C语言二维数组的四种遍历方式
  3. 树莓派电子开发套件及配件组图
  4. 《猩球黎明》首曝海报
  5. ios居然不支持transparent
  6. 【清明雨.nbsp;武大樱花.nbsp;落英缤…
  7. 为何BTC在逆势中上涨?残酷而持久的熊市里,仍存在变数
  8. Java数据结构之堆(Heap)
  9. 从希拉里邮件门来看邮件服务器的安全管理
  10. 海康摄像头使用chrome打开