【代码小坑】梯度回传为0

2023-05-16

记录一下训练过程中遇到的问题,由于这个问题我花了很长时间才解决,所以值得记录。

先给出结论:tensor转换成numpy后会丢失梯度,导致回传出现问题

由于原代码不容易理解,简单用个例子说明

import torch
from torch.autograd import Variable

input=Variable(torch.tensor([1,2,3.]))
input.requires_grad=True
input_numpy=input.detach().numpy()
x=input_numpy*2
x_tensor=torch.from_numpy(x)
output=x_tensor.sum()
output.requires_grad=True    # 没有会报错
output.backward()
print(input.grad)
>> None

心得:写代码的时候不知道为啥(可能是脑子抽了),把tensor转成numpy去计算了,实际上numpy能操作的tensor也可以,没必要转化,反而给自己留下了坑。

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

【代码小坑】梯度回传为0 的相关文章

  • 教你通过bigemap和geojson获取echarts精确到乡镇、街道的地图json数据

    2022 10 09更新 xff01 xff01 xff01 bigemap导出kml文件的功能不开放了 后续有什么好的办法获取乡镇 街道数据再做记录 大家有什么好的方法也可以留言 写在前面 本文重点介绍关于怎么获取地图数据的部分 我们可以
  • openlayers动态添加自定义div图层 具有筛选功能 和浮窗

    openlayers动态加自定义div图层 并且具有筛选功能 和浮窗效果 代码拿过去就可以用 联系方式 45664741 64 qq com 个人博客 flot top 效果图 span class token doctype span c
  • openlayers 地图 画线

    span class token doctype span class token punctuation lt span span class token doctype tag DOCTYPE span span class token
  • element-ui 日期选择器 限制结束时间不能大于开始时间

    demo地址 span class token tag span class token tag span class token punctuation lt span el date picker span span class tok
  • [echarts] echarts markLine使用

    span class token doctype span class token punctuation lt span span class token doctype tag DOCTYPE span span class token
  • 一个可以直接运行的WEB录音机,在WEB上实现录音并播放,也可以用来测试麦克风(增加了音频下载功能)

    span class token doctype span class token punctuation lt span span class token doctype tag DOCTYPE span span class token
  • FreeRTOS — 源码下载与移植

    1 FreeRTOS的学习 1 1 FreeRTOS的源码下载 学习一个操作系统前 xff0c 首先要下载对应的源码 xff0c 用于研究和学习 FreeRTOS的源码下载链接如下 xff1a FreeRTOS Real Time Kern
  • freeRTOS学习 — 任务的创建与管理

    1 freeRTOS的任务 xff08 1 xff09 任务的状态 freeRTOS中 xff0c 任务在运行时 xff0c 可能出现以下几种状态 xff1a 1 xff09 运行态 任务当前正在运行中 xff0c 占有cpu的使用权 2
  • freeRTOS学习 — 消息队列

    1 freeRTOS 的消息队列 freeRTOS中提供了任务之间互相通信的另外的一种手段 消息队列 它的作用主要有 xff1a 1 xff09 为了在任务与任务之间 任务与中断之间的通信而准备的 xff0c 可以在任务与任务之间 xff0
  • ucos-ii 的任务调度原理和实现

    ucosii 任务调度和原理 1 ucos ii 任务创建与任务调度 1 1 任务的创建 当你调用 OSTaskCreate 进行任务的创建的时候 xff0c 会初始化任务的堆栈 保存cpu的寄存器 创建任务的控制块 xff08 OS TC
  • 51单片机 | DS18B20 温度传感器实验

    文章目录 一 DS18B20介绍二 硬件设计三 软件设计1 数码管显示函数2 DS18B20 初始化函数及温度读取函数4 主函数 四 实验现象 这一节我们来学习精度较高的外部 DS18B20 数字温度传感器 xff0c 由于此传感器是 单总
  • 上位机命名规范驼峰命名法和下划线命名法

    1 xff09 驼峰命名法 小驼峰命名法 xff1a 除第一个单词之外 xff0c 其他单词首字母大写 xff0c 例如 xff1a myFirstName myLastName 常用于变量名 xff0c 函数名 大驼峰命名法 又称为帕斯卡
  • matlab 调用GPU运算

    1 利用gpuArray 函数将数据从CPU传入GPU中 a 61 zeros 2 3 a 61 gpuArray a 或 a 61 gpuArray single a 数据默认都是双精度 xff0c 降成单精度会提高计算速度 2 用cla
  • 1.数字芯片后端设计小概述

    大家好 xff0c 第一篇文章想来简单介绍一下数字芯片后端的基本流程 对于没有接触过后端设计的新人可能会有用 后端设计总体来说 xff0c 是将前端写好的RTL代码通过综合 xff08 synthesize xff09 转换成物理网表 xf
  • Neutron学习笔记2-- Neutron的网络实现模型

    Neutron学习笔记2 Neutron的网络实现模型 Neutron的三类节点 计算节点网络节点控制节点 Neutron将在这三类节点中进行部署 xff0c Neutron在各个计算节点 xff0c 网络节点中运行各种各样的Agent x
  • Neutron学习笔记1--基本概念

    Neutron学习笔记 基本概念 1 涉及的Linux网络技术 bridge xff1a 网桥 xff0c Linux中用于表示一个能连接不同网络设备的虚拟设备 xff0c Linux中传统实现的网桥类似于一个hub设备 xff0c 而ov
  • 解决EXCEL打开.csv文件时的乱码问题

    问题描述 xff1a 在爬取数据的时候需要生成 csv文件用于存储数据 xff0c 但是生成的文件打开的时候是都是乱码 xff08 包括在网上下载的用于数据分析联系的 csv文件很多时候也会乱码 xff09 xff0c 具体情况如下 xff
  • 关于C语言中字符串以‘\0‘结尾的原因

    0 一般放在字符串的结束处 xff0c 用来表示字符串的结束 xff0c 其是ascii值为0的字符的转义 如果一个字符串中没有 0 这个结束字符 xff0c 那么这些函数将不能确定字符串的结束位置在哪儿 xff0c 从而引起一些不必要的错
  • ESP8266_NONOS_SDK开发环境搭建及验证

    ESP8266 NONOS SDK开发环境搭建及验证 视频教程 xff1a 芯片资料芯片 xff1a ESP8266EX模组 xff1a ESP 12F开发板 xff1a NodeMCU 启动模式安装AiThinkerIDE编译报错问题No

随机推荐

  • 华为开发者大会2019观后感

  • 运行Mapreduce,运行一半卡着不动了

    64 root 64 master mr inverted test bash run sh rmr DEPRECATED Please use rm r instead 19 01 17 23 22 23 INFO fs TrashPol
  • 51单片机 | LCD1602 液晶显示实验

    文章目录 一 LCD1602 介绍1 LCD1602 简介2 LCD1602 常用指令3 LCD1602 使用 二 硬件设计三 软件设计1 LCD1602 驱动函数2 主函数 四 实验现象 在前面章节 xff0c 我们已经学习过几种显示装置
  • Ubuntu18.04下自定义meauconfig

    一 前言 本文记录ubutu18 04下自定义meauconfig的安装使用 二 安装 参考链接 xff1a https nuttx apache org docs latest quickstart install html 或者可以看这
  • 服务器搭建及数据库部署

    服务器搭建 参考文章 快速搭建一个自己的服务器详解 xff08 java环境 xff09 因为上学期做非关系数据库课程实验时使用过PolarDB云数据库 xff0c 进行过阿里云的学生认证 xff0c 所以此次云服务器也就选择了Ali的开发
  • MATLAB 2018b 安装 mexopencv (VS 2017 编译)

    MATLAB 2018b 安装 mexopencv VS 2017 编译 之前电脑上装的是MATLAB 2016b 没办法识别VS 2017 虽然官方说有补丁解决这个问题 但还是下了最新的2018b 2018b 识别VS 2017 是没问题
  • Mybatis搞五下(分页、缓存)

    Mybatis搞五下 xff08 分页 缓存 xff09 上篇博客我们讲了动态SQL xff0c 一一多多和延迟加载问题 xff0c 这篇我们讲点轻松的东西 xff0c 关于分页插件pageHelper和Mybatis面试常问的缓存问题 M
  • 03、postman前置脚本

    postman前置脚本是指在Pre requests Script中编写的js脚本 xff0c 一个请求在发送之前 xff0c 会先去执行Pre Request Script xff08 前置脚本 xff09 中的代码 xff0c 可以是为
  • Python3爬取淘宝网商品数据!

    分析淘宝网 这次选择的是淘宝网热卖而不是淘宝网 xff0c 二者虽然名字有不同 xff0c 但是数据还是一样的 xff0c 区别就在于前者把后者的所有店铺和商品的海量数据按照销售量 好评度 信誉度综合测评 重新计算 重新排序展现给买家的一个
  • Python实现淘宝准点抢单!双十一秒杀神器啊!还不来学?

    一 ChromeDriver的安装 若想使用Selenium成功调用Chrome浏览器完成相应的操作 xff0c 需要通过ChromeDriver来驱动 我们在下载之前先来确认下我们使用的Chrome浏览器版本 只需要红框内几位相同即可 根
  • 【点云系列】 场景识别类导读

    文章目录 1 背景知识2 定义3 传统方法4 基于深度学习的方法5 其他参考 xff1a 终于可以简单写一下这一块的导读了 xff0c 拖了一个多周了 希望可以帮助到大家 xff1b xff09 1 背景知识 点云检索 xff08 poin
  • 异常检测综述(Anomaly Detection: A Survey)

    Anomaly Detection A Survey 异常检测综述 xff1a 异常检测是一个重要的问题 xff0c 已经在不同的研究领域和应用领域进行了研究 许多异常检测技术是专门为某些应用领域开发的 xff0c 而其他技术则更为通用 本
  • 基于Prometheus和k8s搭建监控系统

    文章目录 1 实验环境2 Prometheus介绍 xff1f 3 Prometheus特点3 1 样本 4 Prometheus组件介绍5 Prometheus和zabbix对比分析6 Prometheus的几种部署模式6 1 基本高可用
  • STM32F4 | 窗口门狗(WWDG)实验

    文章目录 一 STM32F4 窗口看门狗简介二 硬件设计三 软件设计四 实验现象五 STM32CubeMX 配置 WWDG 在本章中 xff0c 我们将使用窗口看门狗的 中断功能来喂狗 xff0c 通过 DS0 和 DS1 提示程序的运行状
  • deepin15.11系统下使用源码包(tar.xz)安装MySQL 8.0+(补充)

    1 下载MySQL的安装包 1 1 进入官网 xff0c 找到下载 官网地址 mysql官网 1 2 找到下载入口 1 3 选择这个 1 4找到适合自己电脑系统版本 2 安装 配置MySQL和创建mysql用户 注意 最好使用root安装和
  • 基于docker部署prometheus

    1 prometheus架构 Prometheus Server 收集指标和存储时间序列数据 xff0c 并提供查询接口 ClientLibrary 客户端库 Push Gateway 短期存储指标数据 主要用于临时性的任务 Exporte
  • Prometheus监控实战系列二十:监控Kubernetes集群(下)

    本文承接上篇 xff0c 在本篇中我们会讲解Prometheus如何应用基于Kubernetes的服务发现功能 xff0c 检索目标信息并进行监控 在监控策略上 xff0c 我们将混合使用白盒监控与黑盒监控两种模式 xff0c 建立起包括基
  • RT-Thread 简介及架构

    RT Thread xff0c 全称是 Real Time Thread xff0c 顾名思义 xff0c 它是一个嵌入式实时多线程操作系统 xff0c 基本属性之一是支持多任务 xff0c 允许多个任务同时运行并不意味着处理器在同一时刻真
  • 进程的结构

    什么是进程 UNIX标准 xff08 特别是IEEE Std 1003 1 2004年版 xff09 把进程定义为 一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源 目前 xff0c 可以把进程看作正在运行的程序 像Linu
  • 【代码小坑】梯度回传为0

    记录一下训练过程中遇到的问题 xff0c 由于这个问题我花了很长时间才解决 xff0c 所以值得记录 先给出结论 xff1a tensor转换成numpy后会丢失梯度 xff0c 导致回传出现问题 由于原代码不容易理解 xff0c 简单用个