昨天使用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中的元素下标得到一个cc->loss  # c经过一系列操作得到了loss

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

b->c->loss

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

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

pytorch踩坑日记相关推荐

  1. Pytorch踩坑记录:关于用net.eval()和with no grad装饰器计算结果不一样的问题

    Pytorch踩坑记录 相同点 net.eval()和with toch.no_grad()的相同点:都停止反向传播 不同点: 1.net.eval() 用net.eval(),此时BN层会用训练时的 ...

  2. 全志哪吒D1-H Tina Linux Ubuntu 22.04入门踩坑日记

    哪吒D1-H Tina Linux入门踩坑日记 系统环境 源码编译 mklibs-readelf的C++标准问题 m4的SIGSTKSZ问题 libfakeroot的_STAT_VER问题 read_ ...

  3. Win11 + Ubuntu18.04 双系统踩坑日记

    Win11 + Ubuntu18.04 双系统踩坑日记 前言 准备工作 硬件配置 镜像下载 Win11镜像下载 Ubuntu镜像下载 启动盘准备 Win11启动盘 Ubuntu启动盘 Win11安装 ...

  4. 【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】

    Flutter混合开发踩坑日记之'applicationVariants' for extension 'android' 正文 坑一:Could not get unknown property ' ...

  5. Swarm-BZZ踩坑日记之 如何让METMASK小狐狸显示gbzz

    刚入门bzz的新手还不知道小狐狸是什么的请移步上一章节:Swarm-BZZ踩坑日记之 如何在METMASK小狐狸导入节点地址 在浏览器安装好小狐狸,并添加自己的钱包地址后 会发现只显示ETH,并不显示 ...

  6. ReactNative 在丁香医生项目中引入的踩坑日记

    ReactNative 在丁香医生项目中引入的踩坑日记 this没绑定到函数导致空指针 参考 React-Native 踩坑第二弹-undefined is not a function(evalua ...

  7. springboot踩坑日记—nacos: Error watching Nacos Service change

    springboot踩坑日记-nacos: Error watching Nacos Service change Spring Boot :: (v2.1.5.RELEASE) 错误代码: 07-3 ...

  8. 微信小程序踩坑日记-微信小程序首次加载样式错乱问题

    微信小程序踩坑日记-微信小程序首次加载样式错乱问题 在实际开发项目中,遇到了个棘手的问题,就是在某些因素下,进入小程序发现有些样式发生偏移.错乱等问题 问题原因:-未知(估计是组件的问题) ↓ 解决办 ...

  9. c++字符串操作之std::ostringstream踩坑日记

    c++字符串操作之std::ostringstream踩坑日记 在开发过程中经常会遇到字符串操作,而std::string又没有format操作,这就很难受了. 于是我找到了std::ostrings ...

最新文章

  1. iOS开发之抽屉效果实现
  2. 简明python教程 豆瓣-福利分享:个人整理的Python书单,从基础到进阶
  3. mysql的各种语句_MySql常用操作SQL语句汇总
  4. composer查看当前镜像取消_Docker image镜像常用命令
  5. java 会话跟踪技术_JavaEE基础(04):会话跟踪技术,Session和Cookie详解
  6. TreeSet的null值与元素类型的约束
  7. 上周ASP.NET英文技术文章推荐[05/06 - 05/12]
  8. php点击按钮跳转页面heeader,php - 通过FPDF生成后插入水印并打印PDF - SO中文参考 - www.soinside.com...
  9. 还服务器网站被k,导致网站被K的主要原因,看看你有没有中招!
  10. Flutter进阶—Firebase数据库实例
  11. 服务器虚拟机要怎么安装,服务器虚拟机怎么安装
  12. css3中transform:translateY之后文字模糊的原因
  13. 360的困兽之斗——探讨奇虎Tecent商业模式
  14. 从Outlook到python都可以使您的工作减少一半
  15. Android组件化开发实践和案例分享
  16. springcloud(一)微服务概述
  17. php 促成交易,促成交易的方法
  18. 2018年度10大新兴技术:人工智能、量子计算、增强现实等
  19. 简历制作 | 保研 | 考研复试
  20. GB/T 36624-2018《可鉴别的加密机制》笔记——5. 机制4:加密+MAC

热门文章

  1. 书论69 丰坊《书诀》
  2. Linux 下安装 JDK
  3. C#log4net的使用教程
  4. CSS Sprites精灵图(雪碧图)的使用以及利用工具制作
  5. 京东主图最新优化技巧,快速提升点击率
  6. redis集群分片存储
  7. 如何设置ppt,使讲演者看到备注,而观众看不到(很好,很实用!)
  8. 所有985学校的初试复试【考研资料】+考研群
  9. 离线地图最终解决方案
  10. 卡拉赞服务器延迟,魔兽世界怀旧服:卡拉赞测试被取消,tbc有可能延迟开放