torch.where 与 np.where

基于torch.where和布尔索引的速度比较 我就废话不多说了,直接上代码吧! import torch import time x = torch.Tensor([[1, 2, 3], [5, 5, 5], [7, 8, 9],[5,5,5],[1,2,3,],[1,2,4]]) ''' 使用pytorch实现对于任意shape的torch.tensor,如果其中的element不等于5则为0,等于5则保留原数值 实现该功能的两种方式,并比较两种实现方式的速度 ''' # x[x!=5]=1 def t2(x): x[x!=5]=0 return x def t(x): zeros=torch.zeros(x.shape) 立即下载

numpy.where 和 torch.where 如果不指定条件,返回的都是非0元素的位置(下标),

np.where

>>> a = np.array([-1, -2, 0, 1, 2])
>>> np.where(a)
(array([0, 1, 3, 4]),)

torch.where不指定条件,返回的也是非0元素的位置(下标),包括了负数。
看个例子

>>> c
tensor([[[ 0.,  0.],
         [-1., -1.],
         [-1., -2.]],

        [[ 1.,  1.],
         [ 0.,  0.],
         [ 0., -1.]],

        [[ 1.,  2.],
         [ 0.,  1.],
         [ 0.,  0.]]])
>>> torch.where(c)
(tensor([0, 0, 0, 0, 1, 1, 1, 2, 2, 2]),
 tensor([1, 1, 2, 2, 0, 0, 2, 0, 0, 1]),
 tensor([0, 1, 0, 1, 0, 1, 1, 0, 1, 1]))

竖着按列看,可看到非零元素的下标为(0, 1, 0), (0, 1, 1)等,包含了负数。
*注:(0, 1, 0)指的是第一块,第2行的第一个元素-1。

现在指定条件 > 0

>>> torch.where(c > 0)
(tensor([1, 1, 2, 2, 2]), 
 tensor([0, 0, 0, 0, 1]), 
 tensor([0, 1, 0, 1, 1]))

可以看到负数的下标不见了。

指定条件下它们也一样,见链接。

[渗透测试实战篇-4] RCE漏洞组合拳突破Getshell全解析 本文深入解析RCE漏洞组合拳在渗透测试中的实战应用,通过SSRF、XXE等漏洞串联技术突破Getshell的全过程。文章详细介绍了Java和PHP环境下的漏洞利用差异,以及防御绕过与权限维持的实用技巧,为安全研究人员提供全面的实战指导。 阅读详情

相关推荐

Maxwell中铜导体热损计算的关键步骤与技巧

本文详细介绍了在Maxwell软件中准确计算铜导体热损的关键步骤与实用技巧。重点阐述了如何正确设置涡流场求解器、启用涡流效应、根据工作频率计算并应用肌肤深度以指导网格剖分,以及准确施加激励和定义电流回路。文章还强调了使用温度相关材料属性和进行后处理验证的重要性,旨在帮助工程师获得可靠的热损计算结果,优化产品设计。

weixin_29232121的博客 493

torch.where(),np.where()的两种用法,以及np.argwhere()寻找张量(tensor)和数组中为0的索引

torch.where(),np.where()的两种用法,以及np.argwhere()寻找张量(tensor)和数组中为0的索引

weixin_45791990的博客 4841

深入解析CAN总线BusOff故障的检测与恢复机制

本文深入解析了CAN总线BusOff故障的检测与恢复机制。BusOff是CAN节点因发送错误过多而被强制离线的一种严重状态。文章详细阐述了其触发原理,即发送错误计数器(TEC)超过255,并重点介绍了通过软件实现的快慢恢复机制,以增强网络在异常情况下的稳定性和韧性。

weixin_29158047的博客 523

torch.where() 与 numpy.where() 用法详解

1、torch.where() torch.where(condition,a,b)。其中,输入参数condition:条件限制,如果满足条件,则选择a,否则选择b作为输出。a和b是 tensor。 import torch a = torch.tensor([[0.0349, 0.0670, -0.0612, 0.0280, -0.0222, 0.0422], [-1.6719, 0.1242, -0.6488, 0.3313, -1.3965, -0.068...

知识搬运者 2424

ROS小车定位实战:如何用rf2o_laser_odometry和robot_localization实现精准里程计(附避坑指南)

本文详细介绍了如何利用rf2o_laser_odometry和robot_localization在ROS中实现高精度小车定位。通过激光里程计与状态估计的黄金组合,解决室内移动机器人的定位难题,包括环境搭建、算法配置、多传感器融合策略及实战避坑指南,帮助开发者快速部署稳定可靠的定位系统。

weixin_29081703的博客 285

网红商品数据抓取:基于Python的高效爬虫实战

本篇博客介绍了从爬取到存储、分析和可视化网红商品数据的完整流程。通过Python的强大生态,我们能够轻松完成复杂的数据抓取任务。在实际应用中,还可以将此爬虫与机器学习模型结合,进一步挖掘数据价值。

2201_76125261的博客 1475

np.where和torch.where的使用

np.where和torch.where的使用 两者都是三个输入参数,第一个是判断条件,第二个是符合条件的设置值,第三个是不满足条件的设置值。 区别在于,torch要将设置值全部改为Tensor类型的 #预测概率 y_pred_probs = net(torch.tensor(x_test[0:10]).float()).data y_pred_probs #预测类别 y_pred = torch.where(y_pred_probs>0.5, torch.ones_like(y_pred_pro

weixin_40426830的博客 2049

Office 365中的Assigned Access详细功能介绍

本文系统介绍了Office365中AssignedAccess功能的应用与管理。作为Windows系统的重要安全特性,AssignedAccess可将设备锁定为单应用模式,有效防范未授权访问。文章详细阐述了其核心功能、技术架构及配置方法,包括UWP/Win32应用支持、多用户配置、与AzureAD集成等。通过MicrosoftEndpointManager可实现批量部署和远程监控,适用于公共终端、零售设备等场景。该功能为企业数字化转型提供了安全、可控的终端管理方案,在保障数据安全的同时优化用户体验。

xueyunshengling的博客 226

np.where 和 torch.where 用法

numpy.where() 有两种用法: numy.where(condition) 只有condiiton,输出满足condition的元素的下标, 这里的坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标 torch.where torch.where()函数的作用是按照一定的规则合并两个tensor类型...

weixin_43102043的博客 676

系统建模语言 (SysML)

系统建模语言

追赶时代的博客 749

SAP ABAP 四种传统的数据库视图类型介绍之二:Projection View

一是该 projection view 只暴露了底层 TADIR 表的四个字段,因此通过该 view 维护数据,在维护界面我们只能维护一条记录的四个字段,如下图所示。使用 Projection view 的优点在于其设计灵活性:如果系统中原始的数据库表字段较多,通过投影仅保留关键信息可有效降低从数据库层到应用层之间的数据传输负担,且保持数据的一致性。其二是笔者之前的文章提到,TADIR 是 ABAP 系统重要的对象注册表,如同 window 操作系统的注册表一样,一般的应用开发人员不应该去修改其内容。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1439

np.where和torch.where的使用区别

两者都是三个输入参数,第一个是判断条件,第二个是符合条件的设置值,第三个是不满足条件的设置值。 区别在于,torch要将设置值全部改为Tensor类型的 mask_true = torch.where(torch.isnan(y_true), torch.full_like(y_true, 0), torch.full_like(y_true, 1)) mask_true = np.w...

Nick Blog 3万+

海康VisionMaster与西门子Smart 200进行S7通信

海康VisionMaster与西门子Smart 200进行S7通信

haier123888的博客 8177

torch.where()函数

Pytorch的torch.where()函数和numpy中的np.where()函数使用方法完全是一致的。torch.where()需要三个参数:torch.where(第一个为判断条件,第二个为满足条件设置的值,第三个为不满足条件设置的值)。等同于一个基本判断结构: if 条件: 值1 else: 值2 example: y_pred = torch.where(y_pred > 0.5, torch.ones_like(y_pred, dtype=torch.float32),

StriveHeisenberg的博客 2472

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

np.where可对tensor直接操作

if __name__ == '__main__': # pdist = torch.nn.PairwiseDistance() a = torch.tensor([1,2,3,5,6]) b = torch.tensor([1,2,3,4,5]) idx = np.where(a!=b)[0] print(a,b,idx) 原因是因为会默认将tensor转换成numpy。当然也可以直接用torch.where实现。...

weixin_61445075的博客 491

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Torch和Numpy的相爱相杀日记——手搓模型中常用内置函数使用记录

记录手搓模型中的各种torch数据基础操作代码以及函数使用

qq_58718853的博客 644

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

RPN 预备编程知识(一) : Numpy VS Pytorch ( Anchor_target_layer )

目录 1.  np.where(x>4) ) 知道返回[0] [1] 2. np.meshgrid 构造xy轴 3.  np.ravel( ) VS np.flatten() 拉成一维 4.  x.reshape( )  了解填充方式 5.  np.squeeze(a,axis=none) & b.squeeze(0) [ b是torch.data ] 6.  np.vi...

Snoopy_Dream 1565

Pytorch基础函数

pytorch基本函数笔记

weixin_43868406的博客 148

numpy小知识

python numpy数组求多个筛选条件的结果的交集和并集 >>> import numpy as np >>> arr1 = np.array([-10,-2,5,3,8]) >>> #并集 ... condition = (arr1>6)+(arr1<0) >>> print(arr1[condition]) [-10 -2 8] >>> condition = (arr1>6)|(arr

AI人工智能的海洋 330

学习记录1

【代码】学习记录1。

fksfdh的博客 249

pytorch提取非NAN值

numpy和torch中有关于判断NAN值的函数,但是没有判断非NAN值的函数,pandas中有判断非空值的函数,即df.notnull(),但是还得把数据转换为Dataframe的形式,因为用不惯Dataframe数据形式,所以考虑在numpy和tensor的形式中通过调用python自带的函数而不是耗时的for循环提取非NAN值,记录下来以免以后查阅,具体操作如下。 基本思路: 对于tensor来说,首先通过调用torch.isnan()函数获取空值,接着通过使用torch.where()函数获取空值的

qq_38603174的博客 2166

torch.where和numpy.where faster element wise operation build-in implement

import torch a=torch.randn((2,3)) print(a) ''' tensor([[-0.4695, 0.0949, -0.7063], [-0.2190, 0.7319, -0.6530]]) ''' b=torch.where(a&gt;0,torch.tensor(10.),a) print(b) ''' tensor([[-0.4695, ...

WYXHAHAHA123的博客 581

pytorch的torch.where用法

转自此博客 pytorch torch.where()函数用法 torch.where(condition, x, y) → Tensor 函数的作用 根据条件,返回从x,y中选择元素所组成的张量。如果满足条件,则返回x中元素。若不满足,返回y中元素。 例子 ...

weixin_44164489的博客 1597

np.where 的用法记录

np.where 的用法

Lily的博客 474

关于np.where

np.where(cond)只有一个参数的情况下会输出相关的索引 import numpy as np a=np.array([2,4,6,8,10]) np.where(a>5) 结果会是 (array([2,3,4]),) 注意,此时的输出实际上是一个tuple 而 np.where(a>5)[0] 则会输出常用的一维数组 [2 3 4] ...

开飞机的小毛驴儿 332

Pytorch 处理 inf 和 nan 数值

假设我们有这样的一个tensor,我们需要把其中的 inf 和 nan 填充成别的数字 import torch import numpy as np a = torch.Tensor( [[1, 2, np.nan], [np.inf, np.nan, 4], [3, 4, 5]]) ''' tensor([[1., 2., nan], [inf, nan, 4.], [3., 4., 5.]]) ''' 把 nan......

知识搬运者 3574
上一篇: pytorch 矩阵运算巧求点之间的距离
下一篇: leetcode 881. Boats to Save People(救生船)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值