返回顶部
首页 > 资讯 > 精选 >Pytorch使用tensor特定条件判断索引的方法
  • 943
分享到

Pytorch使用tensor特定条件判断索引的方法

2023-06-14 10:06:27 943人浏览 薄情痞子
摘要

本篇内容介绍了“PyTorch使用tensor特定条件判断索引的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!torch.wher

本篇内容介绍了“PyTorch使用tensor特定条件判断索引的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

torch.where() 用于将两个broadcastable的tensor组合成新的tensor,类似于c++中的三元操作符“?:”

区别于python numpy中的where()直接可以找到特定条件元素的index

Pytorch使用tensor特定条件判断索引的方法

想要实现numpy中where()的功能,可以借助nonzero()

Pytorch使用tensor特定条件判断索引的方法

对应numpy中的where()操作效果:

Pytorch使用tensor特定条件判断索引的方法

补充:Pytorch torch.Tensor.detach()方法的用法及修改指定模块权重的方法

detach

detach的中文意思是分离,官方解释是返回一个新的Tensor,从当前的计算图中分离出来

Pytorch使用tensor特定条件判断索引的方法

需要注意的是,返回的Tensor和原Tensor共享相同的存储空间,但是返回的 Tensor 永远不会需要梯度

Pytorch使用tensor特定条件判断索引的方法

import torch as ta = t.ones(10,)b = a.detach()print(b)tensor([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

那么这个函数有什么作用?

–假如A网络输出了一个Tensor类型的变量a, a要作为输入传入到B网络中,如果我想通过损失函数反向传播修改B网络的参数,但是不想修改A网络的参数,这个时候就可以使用detcah()方法

a = A(input)a = detach()b = B(a)loss = criterion(b, target)loss.backward()

来看一个实际的例子:

import torch as tx = t.ones(1, requires_grad=True)x.requires_grad   #Truey = t.ones(1, requires_grad=True)y.requires_grad   #Truex = x.detach()   #分离之后x.requires_grad   #Falsey = x+y         #tensor([2.])y.requires_grad   #我还是Truey.retain_grad()   #y不是叶子张量,要加上这一行z = t.pow(y, 2)z.backward()    #反向传播y.grad        #tensor([4.])x.grad        #None

以上代码就说明了反向传播到y就结束了,没有到达x,所以x的grad属性为None

既然谈到了修改模型的权重问题,那么还有一种情况是:

–假如A网络输出了一个Tensor类型的变量a, a要作为输入传入到B网络中,如果我想通过损失函数反向传播修改A网络的参数,但是不想修改B网络的参数,这个时候又应该怎么办了?

这时可以使用Tensor.requires_grad属性,只需要将requires_grad修改为False即可.

for param in B.parameters(): param.requires_grad = Falsea = A(input)b = B(a)loss = criterion(b, target)loss.backward()

“Pytorch使用tensor特定条件判断索引的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Pytorch使用tensor特定条件判断索引的方法

本文链接: https://lsjlt.com/news/270279.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Pytorch使用tensor特定条件判断索引的方法
    本篇内容介绍了“Pytorch使用tensor特定条件判断索引的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!torch.wher...
    99+
    2023-06-14
  • Pytorch 使用tensor特定条件判断索引
    torch.where() 用于将两个broadcastable的tensor组合成新的tensor,类似于c++中的三元操作符“?:” 区别于python num...
    99+
    2024-04-02
  • bashif条件判断的使用
    目录if格式条件测试整数测试字符测试文件测试组合条件测试在bash中,if是可以对语句做选择执行,做if条件测试有整数测试,字符测试,文件测试三种形式。 if格式 单分支语法 if ...
    99+
    2023-02-16
    bash if条件判断 bash if判断
  • bash if条件判断的使用
    目录if格式条件测试整数测试字符测试文件测试组合条件测试在bash中,if是可以对语句做选择执行,做if条件测试有整数测试,字符测试,文件测试三种形式。 if格式 单分支语法 if 条件; then 语句1 ...
    99+
    2023-02-16
    bashif条件判断 bashif判断
  • C语言中如何利用and-or条件判断的特性来实现三元条件判断
    这篇文章主要介绍了C语言中如何利用and-or条件判断的特性来实现三元条件判断,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。利用and-or...
    99+
    2024-04-02
  • Mysql索引的使用-组合索引+跳跃条件
    关于MYSQL组合索引的使用,官方对下面的例子的说法是可以使用索引:KEY(key_part1,key_part2,key_part3)select .... from table wher...
    99+
    2024-04-02
  • Linux shell脚本编程if语句的使用方法(条件判断)
    if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpec...
    99+
    2022-06-04
    使用方法 语句 脚本
  • 聊聊JavaScript条件判断的使用技巧
    本篇文章给大家带来了关于JavaScript的相关知识,其中主要跟大家聊一聊有关JavaScript条件判断的使用技巧,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。本文来介绍一下在 JavaScript 中如何编写更简单的条件判断,助...
    99+
    2023-05-14
    JavaScript
  • mysql条件判断函数的具体使用
    目录IF(expr,v1,v2)函数IFNULL(v1,v2)函数CASE函数条件判断函数也被称为控制流程函数,根据满足的不同条件,执行响应的流程。mysql中进行条件判断的函数有if、ifunll和case等。 IF(...
    99+
    2023-01-09
    mysql条件判断 mysql判断条件函数
  • python 三元条件判断的3种实现方法
    python 三元条件判断的3种实现方法 C语言中有三元条件表达式,如 a>ba:b,Python中没有三目运算符(:),但Python有它自...
    99+
    2023-01-31
    条件 方法 python
  • 复合索引使用的先决条件
    PS:懒得重新编辑图片了,直接把我从51上的日志拷过来了。背景:今天,接到一个项目的项目经理电话,告之说生产环境有几个查询超级慢,就是查询单张表的数据,查询条件也很简单,但是加了索引以后并没有走索引,依然还...
    99+
    2024-04-02
  • JavaScript条件判断的使用技巧有哪些
    本文小编为大家详细介绍“JavaScript条件判断的使用技巧有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript条件判断的使用技巧有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。假如我...
    99+
    2023-07-05
  • dos if条件判断语句的实例用法
    这篇文章主要讲解了“dos if条件判断语句的实例用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dos if条件判断语句的实例用法”吧!判断驱动器、文件或文件夹是否存在,用 if exi...
    99+
    2023-06-09
  • java判断特定值是否在数组中的方法
    java判断特定值是否在数组中的方法:使用List:public static boolean useList(String[] arr, String targetValue) { return Arrays.asList...
    99+
    2021-09-10
    java
  • python中的条件判断语句的使用介绍
    目录1. 避免多层分支嵌套2. 封装过于复杂的逻辑判断3. 不同分支下的重复代码4. 合理使用三元表达式5. 常见技巧5.1德摩根定律5.2自定义类的魔法方法5.3在条件判断中使用 ...
    99+
    2024-04-02
  • FreeRTOS软件定时器apollo中断状态判断的方法
    本篇内容主要讲解“FreeRTOS软件定时器apollo中断状态判断的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“FreeRTOS软件定时器apollo中断状态判断的方法”吧!问题场景开发...
    99+
    2023-06-29
  • php判断用户特征的方法是什么
    在PHP中,判断用户特征的方法通常包括以下几种:1. 判断用户的浏览器信息:可以使用$_SERVER['HTTP_USER_AGEN...
    99+
    2023-10-12
    php
  • C语言中条件判断的正确使用姿势
    目录前言一、if语句二、if-else语句if语句嵌套使用if else语句的链式使用三、switch语句switch基础用法switch高级用法前言 在C语言中,有三种条件判断结构...
    99+
    2023-05-19
    C语言条件判断正确使用 C语言条件判断使用 C语言条件判断
  • Go语言常用条件判断空值逻辑的使用
    在 Go 中,有几种不同的方法来检查一个值是null还是empty。您应该使用的具体方法取决于您正在检查的值的类型。 例如,如果你正在检查一个字符串是否为空,你可以使用内置len函数...
    99+
    2023-03-07
    Go语言判断空值 Go 判断空值逻辑
  • C语言的三种条件判断语句怎么使用
    本篇内容介绍了“C语言的三种条件判断语句怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!if语句if语句中,首先判断表达式的值,然后根...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作