pytorch grad 在 .backward() 之后为 None

2024-04-10

我刚刚安装火炬-1.0.0 on Python 3.7.2(macOS),并尝试tutorial https://pytorch.org/tutorials/beginner/blitz/autograd_tutorial.html#sphx-glr-beginner-blitz-autograd-tutorial-py,但是下面的代码:

import torch
x = torch.ones(2, 2, requires_grad=True)
y = x + 2
z = y * y * 3
out = z.mean()
out.backward()
print(out.grad)

prints None这不是我们所期望的。

有什么问题?


这是预期的结果。

.backward仅在叶节点中累积梯度。out不是叶节点,因此 grad 为 None。

autograd.backward也做同样的事情

autograd.grad可用于查找任何张量相对于任何张量的梯度。所以如果你这样做autograd.grad (out, out)你得到(tensor(1.),)作为预期的输出。

Ref:

  • 张量.向后 (https://pytorch.org/docs/stable/autograd.html#torch.Tensor.backward https://pytorch.org/docs/stable/autograd.html#torch.Tensor.backward)
  • autograd.向后(https://pytorch.org/docs/stable/autograd.html#torch.autograd.backward https://pytorch.org/docs/stable/autograd.html#torch.autograd.backward)
  • autograd.grad (https://pytorch.org/docs/stable/autograd.html#torch.autograd.grad https://pytorch.org/docs/stable/autograd.html#torch.autograd.grad)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytorch grad 在 .backward() 之后为 None 的相关文章

  • (Django) (外键问题) model.person_id 不能为 NULL

    我知道这在 Django 圈子里似乎是一个被过度询问的问题 但我不敢说我 还没有找到解决方案 我的模型 from djago import User class InfoPersonal models Model person models
  • Python lambda 函数没有在 for 循环中正确调用[重复]

    这个问题在这里已经有答案了 我正在尝试使用 Python 中的 Tkinter 制作一个计算器 我使用 for 循环来绘制按钮 并且尝试使用 lambda 函数 以便仅在按下按钮时调用按钮的操作 而不是在程序启动时立即调用 然而 当我尝试这
  • 缺少 python 配置

    我正在安装一个程序 需要安装 python config 唯一的问题是我目前没有 python config 而且我似乎不知道如何获取它 经过搜索后 我应该可以通过以下方式安装它 yum install python devel 然而 这样
  • 数据操作 startdate enddate python pandas

    我有一个促销描述数据集 其中包含有关正在运行的各种促销活动及其开始日期 结束日期的信息 promo item start date end date Buy1 get 1 A 2015 01 08 2015 01 12 Buy1 get 1
  • 箱线图与箱线图有何不同?

    我想知道当我们在海生图书馆中有箱线图时为什么会有箱线图 我知道一件事是箱线图优化了表示数据的方式 特别是对于大型数据集 但我不知道为什么 除此之外 我没有任何充分的理由使用箱线图 箱线图将中位数显示为中心线 第 50 个百分位数 然后将第
  • Django/gevent socket.IO 与 redis pubsub。我把东西放在哪里?

    我有一个独立的 python 脚本 它只是从 Twitter 的流 API 捕获数据 然后在收到每条消息时 使用 redis pubsub 将其发布到频道 tweets 这是该脚本 def main username username pa
  • 从 SQL Server 中调用 Python 文件

    我的文件名中有 Python 脚本 C Python HL py 在此 Python 脚本中 有预测模型以及对 SQL 数据库中某些表的更新 我想将此文件称为 SQL 作业 我怎样才能做到这一点 这个问题不一样 如何在 SQL Server
  • 这是我尝试安装 pip3 时得到的结果

    这是我尝试安装 pip3 时得到的结果 sudo apt get install python3 pip Reading package lists Done Building dependency tree Reading state i
  • python中remove方法的安全使用

    我从列表继承了一个 UserList 类并实现了以下方法来删除标记为已删除的条目 def purge deleted self for element in list iter self if ele mark deleted lt 1 s
  • 如何将 Jinja 与 Twisted 一起使用?

    我正在计划使用 Python 与 Twisted Storm 和 Jinja 一起开发一个讨论软件 问题是 Jinja 不是为 Twisted 或异步套接字库而设计的 并且使用 Twisted 提供的性能是我不打算使用 Flask 的原因
  • __subclasses__ 没有显示任何内容

    我正在实现一个从适当的子类返回对象的函数 如果我搬家SubClass from base py 没有出现子类 subclasses 它们必须在同一个文件中吗 也许我从来没有直接导入subclass py对Python隐藏子类 我能做些什么
  • 使用 Beautifulsoup 解析时保持 XML 文件的缩进

    我正在使用 BS4 解析 XML 文件并尝试将其写回新的 XML 文件 输入文件
  • 包装 C++ Qt 小部件以便在 Python 中与 PySide 一起使用

    在 Python 中使用自定义 Qt 显示小部件包装自定义 C 库以便在基于 PySide 的 QApplication 中使用的最佳方法是什么 C 库是否需要特殊处理才能使用 SWIG 进行包装 封装的 Qt 小部件能否与 PySide
  • captureWarnings 设置为 True 不会捕获警告

    我想记录所有警告 我以为这样的设定captureWarnings to True应该可以解决问题 但事实并非如此 代码 import logging import warnings from logging handlers import
  • 计算素数并附加到列表

    我最近开始尝试使用 python 解决 Euler 项目的问题 并且在尝试计算素数并将其附加到列表中时遇到了这个障碍 我编写了以下代码 但我很困惑为什么它在运行时不输出任何内容 import math primes def isPrime
  • 如何克服 numpy.unique 的 MemoryError

    我正在使用 Numpy 版本 1 11 1 并且必须处理一个二维数组 my arr shape 25000 25000 所有值都是整数 我需要一个唯一的数组值列表 使用时lst np unique my arr 我正进入 状态 Traceb
  • 在Python中计算矩阵乘以其转置(AA^T)的最快方法

    在Python中将矩阵与其转置 AA T 相乘的最快方法是什么 我认为 NumPy SciPy 没有考虑使用例如时涉及的对称性 np dot or np matmul 得到的矩阵总是对称的 所以我可以想象有一个更快的解决方案 None
  • 使用 JSON 可序列化枚举自动生成棉花糖模式

    创建与我的模型相同的棉花糖模式的日子已经一去不复返了 我发现这个优秀的答案 https stackoverflow com a 42892443 4097322这解释了我如何使用简单的装饰器从 SQA 模型自动生成模式 因此我实现了它并替换
  • Windows 10 上的 Tensorflow 安装问题

    我正在尝试在 Win 10 计算机上安装 Tensorflow 我成功安装了Python 3 7 然后尝试按照tensorflow org上的安装说明进行操作 执行时 pip install tensorflow 我收到以下错误消息 错误
  • 继承自 NumPy 数组的类如何更改其自身的值?

    我有一个继承自 NumPy n 维数组的简单类 我想要该类的两个方法可以更改该类实例的数组值 其中一种方法应将类实例的数组设置为类实例的列表数据属性的值 另一种方法应将一些列表值附加到类实例的数组中 我不确定如何实现这一点 但我的尝试如下

随机推荐

  • jquery 如果 div id 有孩子

    This if 条件给我带来了麻烦 if div id myfav has children do something else do something else 我尝试了以下所有方法 if myfav hasChildren do so
  • nasm idiv 为负值

    尝试将正数除以负数 目前我的程序将正确划分 并且我可以正确访问其余部分 但是当我输入一个正数除以一个负值时 它根本不会被除 我知道有一种方法可以 签名扩展 并且它会正确划分 我只是看不懂说明书 movsss imm reg reg mem
  • Windows 8 Metro javascript 应用程序绑定到表

    我在 javascript Metro 应用程序中绑定表格时遇到问题 而不是与模板中提供的 html 绑定 它会放入大量 div 并将 json 呈现为字符串 这就是我所拥有的 tr td td td td td td tr table t
  • sizeof 运算符的实现

    我尝试过实现 sizeof 运算符 我是这样做的 define my sizeof x x 1 x 但对于任一数据类型 结果总是为 1 然后我用谷歌搜索了一下 发现了以下代码 define my size x char x 1 char x
  • 尽管我设置了环境变量,NODE_ENV 显示未定义

    我正在使用 webstorm 并尝试使用设置环境变量 set NODE ENV development 当我使用检查环境变量时 echo NODE ENV 我得到的答案是发展 但是在我的节点应用程序中 当我使用检查变量时 var b pro
  • 单击按钮时,无法识别的选择器发送到实例错误

    我不完全确定为什么会出现此错误 当我单击 FirstViewController 上的按钮时会发生这种情况 Terminating app due to uncaught exception NSInvalidArgumentExcepti
  • 如何在 SQLite 中计算不同利率的复利

    我需要按产品计算复利 其中利率可能因年份而异 简化表如下 initial value是第一年开始时产品的价值 final value是相应年末的包括利息的价值 product year initial value interest fina
  • select N + 1 比 eager join 更好吗?

    我正在使用 nhibernate profiler 并看到它在一些地方给我一个 Select n 1 警告 明显的解决方法是进行一些预先的热切连接 但这让我思考 在某些情况下 与可能会加载大量您从未实际使用的数据的连接相比 使用 Selec
  • 我应该将哪个版本的 OpenJFX (JavaFX) 和 Scene Builder 与 Amazon Corretto 11 (OpenJDK) 一起使用?

    您认为 我应该将 OpenJFX JavaFX 和 Scene Builder 与 Amazon Corretto 11 OpenJDK 一起使用的最佳版本是什么 目前 截至本文发布之日 有 2 个版本的 OpenJFX JavaFX 和
  • 如何在 VS 2015 中关闭 Roslyn 代码修复?

    如何在 VS 2015 中关闭 Roslyn 代码修复 它工作正常 使用最新的 Resharper 9 1 2 但在初始化时它仍然会阻止导航 我的意思是 Home End Left Right 会延迟 0 5 1 5 秒 而且它似乎欺骗了导
  • 什么是好的跨平台 C++ IDE? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 它需要有良好的代码完成支持 调试器和浏览代码的好方法 单击以转到文档 由于我被 Java IDE Eclipse 宠坏了 如果它支持重构
  • Angular Http 优先级

    我在我的应用程序中进行了大量 API 调用 即 50 个 完成所有 api 调用的总时间约为 1 分钟 所有 api 调用的优先级均为 2 我已启用角度缓存 因此 与此同时 如果我的应用程序的用户只想关注所有 api 调用中的一些 即仅 6
  • 从 HashSet 转换为 String[]

    最好的转换方式是什么HashSet
  • RStudio - 在查看器窗格中渲染 html 内容

    我想在 RStudio 查看器窗格中显示存储在我的工作目录中的 html 内容 我读过了这个帖子 https support rstudio com hc en us articles 202133558 Extending RStudio
  • Android 模拟器中队列已满、丢失事件

    我正在使用从 SDK 工具运行 API 版本 15 的 Android 模拟器 在控制台中我收到以下错误 Date Emulator KBD Full queue lose event 我显然无法点击任何东西 我用谷歌搜索了它 唯一的解决方
  • 如何使用 Telegram API 实现授权?

    我想使用 PHP 实现多重授权 以便与 Telegram REST API 交互 我想解决什么任务 嗯 很简单 几十个用户 他们都有像这里这样的 carma 10 2 1000 等 以及相关的组分类 网站管理员和客户 在我的网站上有一个用户
  • 比较和对比轻量级标记语言[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 反应式扩展的用途是什么

    一个 MVC 3 网站 其中一些部分使用 Silverlight 5 这种情况下可以使用Rx吗 如果是这样 如何以及由哪些组成部分 申请可以受益 The Rx 的预发布文档 http msdn microsoft com en us lib
  • Google API 客户端库 PHP - 删除不必要的文件夹和文件

    我只是按照谷歌团队提供的说明与购物 API 进行通信 https developers google com api client library php auth service accounts 一切正常 我完成了集成 用于购物的 AP
  • pytorch grad 在 .backward() 之后为 None

    我刚刚安装火炬 1 0 0 on Python 3 7 2 macOS 并尝试tutorial https pytorch org tutorials beginner blitz autograd tutorial html sphx g