pytorch踩坑日记

2023-10-27

昨天使用pytorch写一个程序,程序写完之后却一直不能正确运行,今天定位到了代码的问题所在:
我的代码其中有一处逻辑是这样的:

……
get a # 这里的a就是我想反向求导更新的参数
b=torch.nonzero(a)  # 得到a里面所有不为0的下标

for i,j in b:
	feature_i=feature[i]
	feature[j]=feature[j]
	……
	get c  # 通过b中的元素下标得到一个c
	
c->loss  # c经过一系列操作得到了loss

之后loss反向求导发现a的梯度一直是0,这是因为我只用到了a中不为0元素的下标,根本就没有用到a这个矩阵,此时的计算图应该是这样的:

b->c->loss

因为a->b根本没有产生梯度关系,所以计算图肯定不能反向传导到a。

以后写代码要思考计算图的建立

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytorch踩坑日记 的相关文章

随机推荐

  • qt字符串和数字转换

    字符串转数字 qstring转整数的函数如下 qstring转浮点数的函数如下 字符串转十进制整数 QString str 123 int num str toInt 字符串转二进制 bool ok QString str 123 int
  • docker权限问题,ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running

    ERROR Couldn t connect to Docker daemon at http docker localunixsocket is it running 出现这个问题是因为当前用户权限的问题 只要将当前用户加入docker组
  • return R.ok()

    https www cnblogs com liuyi13535496566 p 11626533 html
  • 网络攻防——kali操作系统基本使用-调用摄像头

    1 阅读前的声明 本文章中生成的木马带有一定的攻击性 使用时请遵守网络安全相关的法律法规 恶意攻击操作系统属于违法行为 2 利用kali操作系统的metasploit攻击windows操作系统 kali中打开终端最好是进入root sudo
  • Spring Cloud Alibaba实战(八) - Dubbo + Nacos

    目录 一 Nacos动态配置 二 Nacos注册中心 三 Sentinel之限流 四 Sentinel之熔断 五 Gateway之路由 限流 六 Gateway之鉴权 日志 七 Gateway搭配Nacos实现动态路由 八 Dubbo Na
  • libcareplus生成热补丁文件

    libcareplus生成热补丁文件 kpatch gensrc汇编文件生成 使用kpatch strip的 strip裁剪不需要关注的节 使用kpatch strip的 rel fixup修正重定位信息 通过strip strip unn
  • Arduino制作温湿度计

    之前买的arduino套装 里面有一个LCD显示屏 就想用它加上手头的一些传感器做点实用的东西 顺便验证一下显示屏是否可用 于是想到了可以做一个温湿度计 实验目的 将温湿度传感器采集的温湿度显示在LCD显示屏上 首先准备工作 1 ardui
  • css区别margin、padding、width、height值为百分比

    margin padding设置为百分比 是相对父元素宽来说的 width设置百分比是相对父元素宽来说的 height设置百分比是相对父元素高来说的 使用padding占位的好处就是布局不会因为图片没有加载而改变
  • 4步教你打造好莱坞科幻特效

    大家一定有看过好莱坞电影 电影里的一幕大家一定印象深刻 男主角在电脑前熟练地敲着键盘 电脑屏幕飞快地闪动 字符也在快速跳动 很有科技感 这样的效果 在 Linux 下也可以实现 甚至连不懂任何 IT 技术的小白跟着本教程也可以轻松装13 我
  • 【数据结构】两栈共享空间(双端栈)

    1 定义 两栈共享空间 使用一个数组来存储两个栈 让一个栈的栈底为该数组的始端 另一个栈的栈底为该数组的末端 两个栈从各自的端点向中间延伸 栈1的底固定在下标为0的一端 栈2的底固定在下标为StackSize 1的一端 top1和top2分
  • 学习软件测试真的三个月可以找到工作吗?

    最近我看到有很多同学私信我 都在问我学了三个月的测试 现在工作怎么样 薪资如何 学的东西能不能在公司里面用到 今天看到这些信息 我就刚好写一篇文章 给大家科普一下 本人之前是做销售行业的 之前写的文章有提到过 因为销售行业竞争太大 并且每个
  • macOS虚拟机安装全过程(VMware)

    作为一名忠实果粉 我最大的愿望就是能够拥有一台Macbook 体验macOS 但是作为学生党 这价钱 贵到离谱啊 不过 VMware这个神器 可以解决一切问题 既然macOS可以在Macbook上运行 为什么就不能在VMware虚拟机上运行
  • python x 0b1010_下面代码的输出结果是

    单选题 下面代码的执行结果是 x 2 x 3 5 2 单选题 下面代码的输出结果是 x 0o1010 print x 单选题 下面代码的执行结果是 s 11 5in eval s 1 2 单选题 关于CSV文件的描述 以下选项中错误的是 单
  • 前端开发--CSS基础

    快速生成css样式 采用简写的方式即可 w200 tab键 width 200px lh200 tab键line height 200px web服务器 免费的远程服务 免费空间 http free 3v do css的书写顺序 布局定位属
  • mac外接显示屏开启hidpi的方法

    之前一直用着switchResX 但是手贱升级到macos10 14之后就失效了 只好另寻别的方法了 准备工作 RDM 开源的更改分辨率插件 快捷下载 PlistEdit PRO plist文件修改器 在线16进制和10进制互转工具 1 关
  • 加州伯克利计算机科学录取,2020加州大学伯克利分校统计学录取案例。

    一 学生背景 本科院校类型 美国本科 本科专业 Applied Mathematics GPA 3 4 4 0 GRE 321 录取项目 MA in Statistics 二 录取学校加州大学伯克利分校介绍 加州大学伯克利分校 Univer
  • HDU 2888 Check Corners

    题目链接 http acm hdu edu cn showproblem php pid 2888 include
  • Vue3 readonly

    readonly 接收一个 ref 或者 reactive 包装对象 返回一个只读的响应式对象 实例
  • ubuntu20.04防火墙相关命令整理

    1 查看防火墙状态 sudo ufw status 2 开启防火墙 sudo ufw enable 3 关闭防火墙 sudo ufw disable 4 重启防火墙 sudo ufw reload 4 开启指定端口 sudo ufw all
  • pytorch踩坑日记

    昨天使用pytorch写一个程序 程序写完之后却一直不能正确运行 今天定位到了代码的问题所在 我的代码其中有一处逻辑是这样的 get a 这里的a就是我想反向求导更新的参数 b torch nonzero a 得到a里面所有不为0的下标 f