pytorch的数值比较运算

news/2024/5/19 21:29:01 标签: pytorch, python, 快速排序, 线性代数

目录:

      • 1. 大于、大于等于、小于、小于等于、不相等
      • 2. 最大值,最小值
      • 3. 排序
      • 4. topk

1. 大于、大于等于、小于、小于等于、不相等

python"># 元素相等返回1,不相等返回0.
x = torch.Tensor([[2,3,5],[4,7,9]])
y = torch.Tensor([[2,4,5],[4,8,9]])
z = torch.Tensor([[2,3,5],[4,7,9]])
print(torch.eq(x,y))
# 比较两个Tensor是否相等
print(torch.equal(x,z))
print(torch.equal(x,y))
# 逐一比较Tensor1中的元素是否大于等于Tensor2中的元素
print(torch.ge(x,y))
# 逐一比较Tensor1中的元素是否大于Tensor2中的元素
print(torch.gt(x,y))
# 逐一比较Tensor1中的元素是否小于等于Tensor2中的元素
print(torch.le(x,y))
# 逐一比较Tensor1中的元素是否小于Tensor2中的元素
print(torch.lt(x,y))
# 逐一比较两个Tensor中的元素是否不相等
print(torch.ne(x,y))
--------------------------------------------------------------------------------
result:
tensor([[ True, False,  True],
        [ True, False,  True]])
True
False
tensor([[ True, False,  True],
        [ True, False,  True]])
tensor([[False, False, False],
        [False, False, False]])
tensor([[True, True, True],
        [True, True, True]])
tensor([[False,  True, False],
        [False,  True, False]])
tensor([[False,  True, False],
        [False,  True, False]])

2. 最大值,最小值

python">x = torch.Tensor([[2,3,5],[4,7,9]])
print(torch.max(x))
# 若指定了dim,则返回最大值与最大值所对应的索引
print(torch.max(x,dim=1))
# 最小值
print(torch.min(x))
print(torch.min(x,dim=0))
--------------------------------------------------------------------------------
result:
tensor(9.)
torch.return_types.max(
values=tensor([5., 9.]),
indices=tensor([2, 2]))
tensor(2.)
torch.return_types.min(
values=tensor([2., 3., 5.]),
indices=tensor([0, 0, 0]))

3. 排序

python">x = torch.Tensor([[10,3,5],[4,20,9]])
print(torch.sort(x))
# 关键字参数descending,设定升序降序
print(torch.sort(x,descending=True))
print(torch.sort(x,dim=0,descending=True))
print(torch.sort(x,dim=0,descending=False))
--------------------------------------------------------------------------------
result:
torch.return_types.sort(
values=tensor([[ 3.,  5., 10.],
        [ 4.,  9., 20.]]),
indices=tensor([[1, 2, 0],
        [0, 2, 1]]))
--------------     
torch.return_types.sort(
values=tensor([[10.,  5.,  3.],
        [20.,  9.,  4.]]),
indices=tensor([[0, 2, 1],
        [1, 2, 0]]))
-------------        
torch.return_types.sort(
values=tensor([[10., 20.,  9.],
        [ 4.,  3.,  5.]]),
indices=tensor([[0, 1, 1],
        [1, 0, 0]]))
--------------      
torch.return_types.sort(
values=tensor([[ 4.,  3.,  5.],
        [10., 20.,  9.]]),
indices=tensor([[1, 0, 0],
        [0, 1, 1]]))

4. topk

python"># topk选择最大或最小的k个元素作为返回值
x = torch.Tensor([[10,3,5],[4,20,9]])
# 关键字k指定返回元素个数,默认最大元素
print(torch.topk(x,k=2))
# largest = Flase 表示最小的topk值
print(torch.topk(x,k=2,largest=False))
# 指定dim,则延续dim方向取topk
print(torch.topk(x,k=2,dim=0))
print(torch.topk(x,k=2,dim=1))
--------------------------------------------------------------------------------
result:
torch.return_types.topk(
values=tensor([[10.,  5.],
        [20.,  9.]]),
indices=tensor([[0, 2],
        [1, 2]]))
torch.return_types.topk(
values=tensor([[3., 5.],
        [4., 9.]]),
indices=tensor([[1, 2],
        [0, 2]]))
torch.return_types.topk(
values=tensor([[10., 20.,  9.],
        [ 4.,  3.,  5.]]),
indices=tensor([[0, 1, 1],
        [1, 0, 0]]))
torch.return_types.topk(
values=tensor([[10.,  5.],
        [20.,  9.]]),
indices=tensor([[0, 2],
        [1, 2]]))

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

相关文章

pytorch矩阵运算

目录:1.对角矩阵的设置2.矩阵的迹3.上三角矩阵与下三角矩阵4.矩阵的乘积mm和bmm5.矩阵的相乘再相加6.批量矩阵相乘再相加7.矩阵乘向量再相加8.特征值及特征向量1.对角矩阵的设置 a torch.rand(2) print(a) # diag设置对角矩阵,diagonal等于0&#xff0…

Multimodal Discriminative Binary Embedding for Large-Scale Cross-Modal Retrieval--2016.10高新波团队

Multimodal Discriminative Binary Embedding for Large-Scale Cross-Modal Retrieval 一.研究内容 目前,多模态hash的研究主要是为了学习兼容的二进制码,以保留标签给出的语义信息。作者认为这些方法忽略了哈希学习过程中哈希码的判别性,这…

Multimodal music information processing and retrieval: survey and future challenges

Multimodal music information processing and retrieval: survey and future challenges 一、这篇文章的研究目的是什么? 这篇文章属于综述性论文,主要是对于多模式音乐信息处理与检索的一个相关调查。目的是通过利用音乐各个方面的不同模态&#xff…

Stacked Cross Attention for Image-Text Matching--ECCV2018

Stacked Cross Attention for Image-Text Matching 一、这篇文章的研究目的是什么? 作者所研究的问题是图像与文本的匹配,作者认为之前的许多工作只是简单的简单地聚合了所有可能对区域和单词的相似性,并没有分析哪些单词或者区域更重要&am…

一、卷积神经网络(01 基础)

一、简述卷积的基本操作,并分析其与全连接层的区别? 全连接层: 特点:输出层的每个节点会与输入层的所有节点连接 卷积层: 特点: 1、局部连接 :输出层的节点与输入层的部分节点相连 2、权值共享 …

一、卷积神经网络(02 卷积变种)

一、分组卷积 普通的卷积操作在通道上使’全连接‘的,而分组卷积将输入通道与输出通道都划分为同样的组数,相同组的通道全连接。假设记分组数为g,则计算量与参数量减小到原来的1/g。 应用场景: 分组卷积最初是在AlexNet网络引入…

【bug】No module named ‘tensorflow.python.keras.engine.keras_tensor‘

一、解决办法: 你需要安装GPU,试试下面命令: !pip install --ignore-installed --upgrade tensorflow-gpu

linux的分卷压缩与合并unzip时出现文件错误

linux的分卷压缩与合并unzip时出现文件错误 有时候给项目上发包是分好几个压缩包发过去的,在Linux下怎么去解压合并?如图: 使用如下命令unzip时出现文件解压损坏: # 合并文件为一个data.zip zip subdata.zip -s0 --out data.zi…