Pytorch学习之torch用法----比较操作(Comparison Ops)


Posted in Python onJune 28, 2020

1. torch.eq(input, other, out=None)

说明: 比较元素是否相等,第二个参数可以是一个数,或者是第一个参数同类型形状的张量

参数:

input(Tensor) ---- 待比较张量

other(Tenosr or float) ---- 比较张量或者数

out(Tensor,可选的) ---- 输出张量

返回值: 一个torch.ByteTensor张量,包含了每个位置的比较结果(相等为1,不等为0)

>>> a = torch.Tensor([[1, 2], [3, 4]])
>>> b = torch.Tensor([[1, 1], [4, 4]])
>>> torch.eq(a, b)
tensor([[1, 0],
  [0, 1]], dtype=torch.uint8)

2. torch.equal(tensor1, tensor2, out=None)

说明: 如果两个张量有相同的形状和元素值,则返回true,否则False

参数:

tensor1(Tenosr) ---- 比较张量1

tensor2(Tensor) ---- 比较张量2

out(Tensor,可选的) ---- 输出张量

>>> a = torch.Tensor([1, 2])
>>> b = torch.Tensor([1, 2])
>>> torch.equal(a, b)
True

3. torch.ge(input, other, out=None)

说明: 逐元素比较input和other,即是否input >= other。

参数:

input(Tensor) ---- 待对比的张量

other(Tensor or float) ---- 对比的张量或float值

out(Tensor,可选的) ---- 输出张量,

>>> a = torch.Tensor([[1, 2], [3, 4]])
>>> b = torch.Tensor([[1, 1], [4, 4]])
>>> torch.ge(a, b)
tensor([[1, 1],
  [0, 1]], dtype=torch.uint8)

4. torch.gt(input, other, out=None)

说明: 逐元素比较input和other,即是否input > other

参数:

input(Tensor) ---- 要对比的张量

other(Tensor or float) ---- 要对比的张量或float值

out(Tensor,可选的) ---- 输出张量

>>> a = torch.Tensor([[1, 2], [3, 4]])
>>> b = torch.Tensor([[1, 1], [4, 4]])
>>> torch.gt(a, b)
tensor([[0, 1],
  [0, 0]], dtype=torch.uint8)

5. torch.kthvalue(input, k, dim=None, out=None)

说明: 取输入张量input指定维度上第k个最小值。如果不指定dim。默认为最后一维。返回一个元组(value, indices), 其中indices是原始输入张量中沿dim维的第k个最小值下标。

参数:

input(Tensor) ---- 要对比的张量

k(int) ---- 第k个最小值

dim(int, 可选的) ---- 沿着此维度进行排序

out(tuple,可选的) ---- 输出元组

>>> x = torch.arange(1, 6)
>>> x
tensor([1, 2, 3, 4, 5])
>>> torch.kthvalue(x, 4)
torch.return_types.kthvalue(
values=tensor(4),
indices=tensor(3))
>>> torch.kthvalue(x, 1)
torch.return_types.kthvalue(
values=tensor(1),
indices=tensor(0))

6. torch.le(input, other, out=None)

说明: 逐元素比较input和other,即是否input <= other.

参数:

input(Tenosr) ---- 要对比的张量

other(Tensor or float) ---- 对比的张量或float值

out(Tensor,可选的) ---- 输出张量

>>> a = torch.Tensor([[1, 2], [3, 4]])
>>> b = torch.Tensor([[1, 1], [4, 4]])
>>> torch.le(a, b)
tensor([[1, 0],
  [1, 1]], dtype=torch.uint8)

7. torch.lt(input, other, out=None)

说明: 逐元素比较input和other,即是否input < other

参数:

input(Tensor) ---- 要对比的张量

other(Tensor or float) ---- 对比的张量或float值

out(Tensor,可选的) ---- 输出张量

>>> a = torch.Tensor([[1, 2], [3, 4]])
>>> b = torch.Tensor([[1, 1], [4, 4]])
>>> torch.lt(a, b)
tensor([[0, 0],
  [1, 0]], dtype=torch.uint8)

8. torch.max(input)

说明: 返回输入张量所有元素的最大值

参数:

input(Tensor) ---- 输入张量

>>> a = torch.randn(1, 3)
>>> a
tensor([[ 0.1553, -0.4140, 1.8393]])
>>> torch.max(a)
tensor(1.8393)

9. torch.max(input, dim, max=None, max_indices=None)

说明: 返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引。

参数:

input(Tensor) ---- 输入张量

dim(int) ---- 指定的维度

max(Tensor,可选的) ---- 结果张量,包含给定维度上的最大值

max_indices(LongTensor,可选的) ---- 结果张量,包含给定维度上每个最大值的位置的索引。

>>> a = torch.randn(4, 4)
>>> a
tensor([[ 0.4067, -0.7722, -0.6560, -0.9621],
  [-0.8754, 0.0282, -0.7947, -0.1870],
  [ 0.4300, 0.5444, 0.3180, 1.2647],
  [ 0.0775, 0.5886, 0.1662, 0.8986]])
>>> torch.max(a, 1)
torch.return_types.max(
values=tensor([0.4067, 0.0282, 1.2647, 0.8986]),
indices=tensor([0, 1, 3, 3]))

10. torch.max(input, other, out=None)

说明: 返回两个元素的最大值。

参数:

input(Tensor) ---- 待比较张量

other(Tensor) ---- 比较张量

out(Tensor,可选的) ---- 结果张量

>>> a = torch.randn(4)
>>> a
tensor([ 0.5767, -1.0841, -0.0942, -0.9405])
>>> b = torch.randn(4)
>>> b
tensor([-0.6375, 1.4165, 0.2738, -0.8996])
>>> torch.max(a, b)
tensor([ 0.5767, 1.4165, 0.2738, -0.8996])

11.torch.min(input)

说明: 返回输入张量所有元素的最小值

参数:

input(Tensor) ---- 输入张量

>>> a = torch.randn(1, 4)
>>> a
tensor([[-0.8142, -0.9847, -0.3637, 0.5191]])
>>> torch.min(a)
tensor(-0.9847)

12. torch.min(input, dim, min=None, min_indices=None)

说明: 返回输入张量给定维度上每行的最小值,并同时返回每个最小值的位置索引

参数:

input(Tensor) ---- 输入张量

dim(int) ---- 指定的维度

min(Tensor,可选的) ---- 结果张量,包含给定维度上的最小值

min_indices(LongTensor,可选的) ---- 结果张量,包含给定维度上每个最小值的位置索引。

>>> a = torch.randn(4, 4)
>>> a
tensor([[-0.0243, -0.7382, 0.3102, 0.9720],
  [-0.3805, -0.7999, -1.2856, 0.2657],
  [-1.0284, -0.1638, -0.8840, 1.2679],
  [-1.0347, -2.3428, 0.3107, 1.0575]])
>>> torch.min(a, 1)
torch.return_types.min(
values=tensor([-0.7382, -1.2856, -1.0284, -2.3428]),
indices=tensor([1, 2, 0, 1]))

13. torch.ne(input, other, out=None)

说明: 逐元素比较input和other,即是否input 不等于 other。第二个参数可以为一个数或与第一个参数相同形状和类型的张量

参数:

input(Tensor) ---- 待对比的张量

other(Tensor or float) ---- 对比的张量或float值

out(Tensor, 可选的) ---- 输出张量

** 返回值:** 一个torch.ByteTensor 张量,包含了每个位置的比较结果,如果tensor和other不相等为True,返回1.

>>> import torch
>>> a = torch.Tensor([[1, 2], [3, 4]])
>>> b = torch.Tensor([[1, 1], [4, 4]])
>>> torch.ne(a, b)
tensor([[0, 1],
  [1, 0]], dtype=torch.uint8)

14. torch.sort(input, dim=None, descending=False, out=None)

说明: 对输入张量input沿指定维度按升序排序,如果不给定dim,则默认为输入的最后一维。如果指定参数descending为True,则按降序排序。

参数:

input(Tensor) ---- 要排序的张量

dim(int,可选的) ---- 沿着此维度排序

descending(bool,可选的) ---- 布尔值,控制升序排序

out(tuple,可选的) ---- 输出张量

返回值: 为ByteTensor类型或与tensor相同类型,为元组(sorted_tensor,sorted_indices),sorted_indices为原始输入中的下标

>>> x = torch.randn(3, 4)
>>> x
tensor([[-0.3613, -0.2583, -0.4276, -1.3106],
  [-1.1577, -0.7505, 1.7217, -0.6247],
  [-0.1338, 0.4423, 0.0280, -1.4796]])
>>> sorted, indices = torch.sort(x)
>>> sorted
tensor([[-1.3106, -0.4276, -0.3613, -0.2583],
  [-1.1577, -0.7505, -0.6247, 1.7217],
  [-1.4796, -0.1338, 0.0280, 0.4423]])
>>> indices
tensor([[3, 2, 0, 1],
  [0, 1, 3, 2],
  [3, 0, 2, 1]])

15. torch.topk(input, dim=None, largest=True, sorted=True, out=None)

说明: 沿指定dim维度返回输入张量input中k个最大值。如果不指定dim,则默认input的最后一维,如果largest为False,则返回最小的k个值。

参数:

input(Tensor) ---- 输入张量

k(int) ---- “top-k"中的k值

dim(int,可选的) ---- 排序的维度

largest(bool,可选的) ---- 布尔值,控制返回最大或最小值

sorted(bool,可选的) ---- 布尔值,控制返回值是否排序

out(tuple,可选的) ---- 可选输出张量

返回值: 返回一个元组(values, indices),其中indices是原始输入张量input中排序元素下标。如果设定布尔值sorted为True,将会确保返回的k个值被排序

>>> x = torch.arange(1, 6)
>>> x
tensor([1, 2, 3, 4, 5])
>>> torch.topk(x, 3)
torch.return_types.topk(
values=tensor([5, 4, 3]),
indices=tensor([4, 3, 2]))
>>> torch.topk(x, 3, 0, largest=False)
torch.return_types.topk(
values=tensor([1, 2, 3]),
indices=tensor([0, 1, 2]))

以上这篇Pytorch学习之torch用法----比较操作(Comparison Ops)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python连接mssql数据库编码问题解决方法
Jan 01 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 Python
Python安装pycurl失败的解决方法
Oct 15 Python
浅析python的Lambda表达式
Feb 27 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
python yield和Generator函数用法详解
Feb 10 Python
如何在django中运行scrapy框架
Apr 22 Python
python实现canny边缘检测
Sep 14 Python
Python基础之数据结构详解
Apr 28 Python
PyTorch的torch.cat用法
Jun 28 #Python
使用pytorch 筛选出一定范围的值
Jun 28 #Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 #Python
pytorch 常用函数 max ,eq说明
Jun 28 #Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 #Python
Python turtle库的画笔控制说明
Jun 28 #Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
Jun 28 #Python
You might like
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
用javascript实现页面打印的三种方法
2007/03/05 Javascript
lib.utf.js
2007/08/21 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
Python实现多线程抓取妹子图
2015/08/08 Python
简单讲解Python中的闭包
2015/08/11 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
Python 读写文件的操作代码
2018/09/20 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python实现中文文本分句的例子
2019/07/15 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
三好学生自我鉴定
2013/12/17 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
抽样调查项目计划书
2014/04/24 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
运动会通讯稿200字
2015/07/20 职场文书
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
使用refresh_token实现无感刷新页面
2022/04/26 Javascript