torch.unique()

news/2024/7/8 5:18:43

torch.unique()的功能类似于数学中的集合,就是挑出tensor中的独立不重复元素。

这个方法的参数在官方解释文档中有这么几个:torch.unique(input, sorted=True, return_inverse=False, return_counts=False, dim=None)

input: 待处理的tensor

sorted:是否对返回的无重复张量按照数值进行排列,默认是生序排列的

return_inverse: 是否返回原始tensor中的每个元素在这个无重复张量中的索引

return_counts: 统计原始张量中每个独立元素的个数

dim: 值沿着哪个维度进行unique的处理,这个我试验后没有搞懂怎样的机理。如果处理的张量都是一维的,那么这个不需要理会。

下面分别对这些不同的参数进行实验讲解分析。

import torch

x = torch.tensor([4,0,1,2,1,2,3])#生成一个tensor,作为实验输入
print(x)

out = torch.unique(x) #所有参数都设置为默认的
print(out)#将处理结果打印出来
#结果如下:
#tensor([0, 1, 2, 3, 4])   #将x中的不重复元素挑了出来,并且默认为生序排列
 
out = torch.unique(x,sorted=False)#将默认的生序排列改为False
print(out)
#输出结果如下:
#tensor([3, 2, 1, 0, 4])  #将x中的独立元素找了出来,就按照原始顺序输出

out = torch.unique(x,return_inverse=True)#将原始数据中的每个元素在新生成的独立元素张量中的索引输出
print(out)
#输出结果如下:
#(tensor([0, 1, 2, 3, 4]), tensor([4, 0, 1, 2, 1, 2, 3]))  #第一个张量是排序后输出的独立张量,第二个结果对应着原始数据中的每个元素在新的独立无重复张量中的索引,比如x[0]=4,在新的张量中的索引为4, x[1]=0,在新的张量中的索引为0,x[6]=3,在新的张量中的索引为3

out = torch.unique(x,return_counts=True) #返回每个独立元素的个数
print(out)
#输出结果如下
#(tensor([0, 1, 2, 3, 4]), tensor([1, 2, 2, 1, 1]))  #0这个元素在原始数据中的数量为1,1这个元素在原始数据中的数量为2

 


http://www.niftyadmin.cn/n/3657682.html

相关文章

Silverlight的 InLine Xaml 功能 - 让您可轻易地动态产生Xaml代码

过去我们一直都是通过.xaml文件中的内容来设计Silverlight中的每一个元素的外观长相,有没有想过,如果需要动态的产生xaml代码,而不想通过.xaml文件来完成的时候该怎么办?  有这种需要吗?有的,而且对于ASP.NET开发人员来说&…

torch.nonzero()

pytorch中的torch.nonzero(),就是返回张量中元素不为0的元素的索引。 举例子如下: import torchx torch.tensor([4,0,1,2,1,2,3]) result 1x print(result)print(result.nonzero()) #输出了不为0值的索引 print(result.nonzero().view(-1))#将结果转…

Keep Walking (转贴去年写的BLOG)

这篇文章,其实是去年12月写的, 换了BLOG,但是舍不得丢掉,所以移过来...从去年,到今年又改变很多了,VS2008又即将推出,时间过得真快...    昨天和一位同样在信息出版界的朋友小聊了一下&…

好用的网站

http://www.zuohaotu.com/image-merge.aspx 线上图片拼接 http://www.pdfdo.com/pdf-merge.aspx pdf拼接

Silverlight的开发工具

实在是太多人问到Sivlerlight的开发工具了,如果您现在要开发 Silverlight应用程序也好、RIA也好、想要在ASP.NET当中整合Silverlight也好,请安装底下这些开发工具,注意,请依序安装。底下说明每一个工具的用途以及为何需要安装...笔…

map指标详解

一张图片的解释特别明朗、准确

以OpacityMask设计半透明遮罩

OpacityMask是一个相当好用的属性,通过OpacityMask与Brush的配合,您可以为任意图形加上一个透明遮罩,我们先看一个简单的例子:上图左方是一个标准的图形,而右方则是加上OpacityMask遮罩之后的结果,其Xaml代…

eccv2020 行人重识别文章类型内容简介

Joint Disentangling and Adaptation for Cross-Domain Person Re-Identification https://arxiv.org/pdf/2007.10315.pdf 源码:https://github.com/NVlabs/DG-Net-PP 解决跨域问题,也是属于图片迁移的,将特征分为身份相关信息和不相关信…