首先我们看一下Pytorch中torch.where函数是怎样定义的:

@overload
def where(condition: Tensor) -> Union[Tuple[Tensor, ...], List[Tensor]]: ...

torch.where函数的功能如下:

torch.where(condition, x, y):
condition:判断条件
x:若满足条件,则取x中元素
y:若不满足条件,则取y中元素

以具体实例看一下torch.where函数的效果:

import torch# 条件
condition = torch.rand(3, 2)
print(condition)
# 满足条件则取x中对应元素
x = torch.ones(3, 2)
print(x)
# 不满足条件则取y中对应元素
y = torch.zeros(3, 2)
print(y)
# 条件判断后的结果
result = torch.where(condition > 0.5, x, y)
print(result)

结果如下:

tensor([[0.3224, 0.5789],[0.8341, 0.1673],[0.1668, 0.4933]])
tensor([[1., 1.],[1., 1.],[1., 1.]])
tensor([[0., 0.],[0., 0.],[0., 0.]])
tensor([[0., 1.],[1., 0.],[0., 0.]])

可以看到torch.where函数会对condition中的元素逐一进行判断,根据判断的结果选取x或y中的值,所以要求x和y应该与condition形状相同。

Pytorch中的torch.where函数相关推荐

  1. gather torch_浅谈Pytorch中的torch.gather函数的含义

    pytorch中的gather函数 pytorch比tensorflow更加编程友好,所以准备用pytorch试着做最近要做的一些实验. 立个flag开始学习pytorch,新开一个分类整理学习pyt ...

  2. Pytorch中的torch.gather函数的含义

    pytorch中的gather函数 pytorch比tensorflow更加编程友好,所以准备用pytorch试着做最近要做的一些实验. 立个flag开始学习pytorch,新开一个分类整理学习pyt ...

  3. pytorch中的torch.squeeze()函数

    torch.squeeze(input, dim=None, out=None) squeeze()函数的功能是维度压缩.返回一个tensor(张量),其中 input 中大小为1的所有维都已删除. ...

  4. Pytorch中的torch.cat()函数

    转载自:https://www.cnblogs.com/JeasonIsCoding/p/10162356.html 1. 字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat是 ...

  5. PyTorch中的torch.nn.Parameter() 详解

    PyTorch中的torch.nn.Parameter() 详解 今天来聊一下PyTorch中的torch.nn.Parameter()这个函数,笔者第一次见的时候也是大概能理解函数的用途,但是具体实 ...

  6. python中squeeze函数_详解pytorch中squeeze()和unsqueeze()函数介绍

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  7. pytorch 中 expand ()函数

    pytorch 中 expand ()函数 expand函数的功能就是 用来扩展张量中某维数据的尺寸,它返回输入张量在某维扩展为更大尺寸后的张量. 例如: x = torch.tensor([1, 2 ...

  8. Pytorch 学习(6):Pytorch中的torch.nn Convolution Layers 卷积层参数初始化

    Pytorch 学习(6):Pytorch中的torch.nn  Convolution Layers  卷积层参数初始化 class Conv1d(_ConvNd):......def __init ...

  9. opencv和pytorch中的warp操作函数:cv2.warpAffine, torch.nn.functional.grid_sample, cv2.warpPerspective

    关于图像的warp操作是指利用一个旋转缩放矩阵对图像进行操作. 常见的操作有,平移,绕某个点旋转,缩放. opencv中有getRotationMatrix2D,warpAffine, getAffi ...

最新文章

  1. LeetCode刷题记录11——290. Word Pattern(easy)
  2. cacti由cmd.php更换成spine后无法绘图
  3. 戴尔全面进军一体机市场【我眼中的戴尔转型】
  4. python中怎么精确20位_Python中的精确处理
  5. python perl lisp,是否可能像python中的perl的lvalue或lisp的setf一样?
  6. DKIM标准:对付网络钓鱼的新武器
  7. Flask 源代码阅读笔记
  8. 南宁二中三中高考2021成绩查询,2020年南宁二中三中录取总成绩不低于A
  9. PSpice应用B-4
  10. java毕业设计校园实习管理系统mybatis+源码+调试部署+系统+数据库+lw
  11. Taro小程序分享功能
  12. python里的平方_python中的平方
  13. html页面如何设置背景,html怎么设置背景
  14. 2013 acm 东北四省赛 总结
  15. 详解C++中fixed,setprecision(),setw()的用法
  16. 【upc】Water Testing 皮克定理+多边形面积公式
  17. Centos8安装Tomcat8.5.55
  18. 和跨域CORS有关的几个请求头和响应头请求头
  19. 如何利用IDEA将项目打包
  20. ASO和ASM的关系与区别

热门文章

  1. HDU 6578 Blank 区间dp
  2. 软件设计师下午真题及参考答案
  3. 服务器android打包,在服务器上使用 gradle 打包 android 源码
  4. 在win10自带的mail中如何设置学校邮箱
  5. 完全模拟FIFA2014世界杯 原创求顶!
  6. 瑞萨 smart Configurator
  7. RS WLAN产品测试全面解决方案
  8. 多因子选选股MATLAB代码,MatlabCode 多因子模型构建。多因子模型是量化选股中最重要的一类模型 联合开发网 - pudn.com...
  9. torch-geometric安装详细步骤
  10. 【CISSP备考】第8章:安全模型、设计和能力的原则