backward()说明

2023-11-10

1.out.backwark()中out是一个标量

此时可以直接使用out.backwark():

import torch
from torch.autograd import Variable

#生成一个内容为[2,3]的张量,Varibale 默认是不要求梯度的,如果要求梯度,
#需要加上requires_grad=True来说明
#这里的Variable是为了设置变量,把a0=2,a1=3设置为两个变量
a = Variable(torch.tensor([2,3]),requires_grad=True)
b = a+3
c = b*3
out=c.mean() #求均值
out.backward()
print("a=",a)
print("out=",out)
print(a.grad)  #求out对a的偏导

结果为

a= tensor([2., 3.], requires_grad=True)
out= tensor(16.5000, grad_fn=<MeanBackward0>)
tensor([1.5000, 1.5000])

 2. out.backward()中的out是一个向量(或者理解成1xN的矩阵)

import torch
from torch.autograd import Variable

#生成一个内容为[2,4]的张量,Varibale 默认是不要求梯度的,如果要求梯度,
#需要加上requires_grad=True来说明
a = Variable(torch.Tensor([[2,4]]),requires_grad=True)
b = torch.zeros(1,2)
b[0,0] = a[0,0]**2+a[0,1]
b[0,1] = a[0,1]**3+a[0,0]
out = 2*b

#括号里面的参数要传入和out维度一样的矩阵
#这个矩阵里面的元素会作为最后加权输出的权重系数
out.backward(torch.FloatTensor([[1,2]]))
print("a=",a)
print("out=",out)
print(a.grad)  #求out对a的偏导

结果为:

a= tensor([[2., 4.]], requires_grad=True)
out= tensor([[ 16., 132.]], grad_fn=<MulBackward0>)
tensor([[12., 194.]])

 

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

backward()说明 的相关文章

随机推荐

  • [SecureCRT]Public Key Authentication Failed

    取消勾选PublicKey
  • ABB工业机器人程序编写与实战

    任务 实现物件从一个位置移动到另一个位置 1 补充的知识点 1 1ABB工业机器人编程语言PAPID 任务 程序模块 系统模块 例行程序 PP指针 机器人运动指令 MoveJ ToPoint Speed Zone Tool Wobj Mov
  • 经验误差与过拟合

    一 经验误差 一般在分类问题中 我们把分类错误的样本数占样本总数的比例称作 错误率 即如果在m个样本中有a个样本分类错误 则错误率为E a m 则相对的 1 E称为精度 即精度 1 错误率 更一般的 我们把学习器的实际预测输出与样本的真实输
  • 微信小程序实战项目

    基于微信小程序的在线商城点单系统 前言 闲来无事 想以后自己开一个小超市或者小吃店 能够支持线上下单 既方便客户也方便自己 系统采用C 语言作为后端实现与小程序的交互 给用来学习或者想自己开个小店的朋友当个参考 文末获取源码联系 精彩专栏持
  • 一文弄懂Numpy中ndarray的维度(dimension)/轴数(axis/axes)问题

    Numpy库的核心是ndarray 实际上就是N维数组 N dimensional array 关于这个数据对象的详细介绍 参考官方文档最为合适 有一点要注意的是 ndarray的内置方法只有30多个 常用的如求平均值可以写a mean 但
  • 视觉SLAM漫谈(二):图优化理论与g2o的使用

    视觉SLAM漫谈 二 图优化理论与g2o的使用 1 前言以及回顾 各位朋友 自从上一篇 视觉SLAM漫谈 写成以来已经有一段时间了 我收到几位热心读者的邮件 有的希望我介绍一下当前视觉SLAM程序的实用程度 更多的人希望了解一下前文提到的g
  • Java知识点概览

    Java 基础 说说自定义注解的场景及实现 利用自定义注解 结合SpringAOP可以完成权限控制 日志记录 统一异常处理 数字签名 数据加解密等功能 实现场景 API接口数据加解密 1 自定义一个注解 在需要加解密的方法上添加该注解 2
  • 树形结构数据构建算法

    在一些前端开发过程中 我们通常需要将后台查询出来的集合数据进行相应的转换 转成树形结构对象 比如常用的评论区数据就是一种典型的树形结构数据 如下图所示 而后台服务端传来的数据通常是一种普通的集合 元素中有 id 和 pid 以此构成 父子节
  • 程序员计算器

    程序员计算器 这是我们WIN7系统下的程序员的模式 你可以使用不同的进制来表示数 也可以限定数据的字节长度 而且每个数都在下方给出了其二进制的值 非常贴心 所谓程序员计算器 除了这些 还包括各种位运算 下面一一介绍 And Or Not X
  • vue项目如何解决跨域问题

    1 什么是跨域 1 跨域指的是浏览器不能执行其他网站的脚本 它是由浏览器的同源策略造成的 是浏览器施加的安全限制 2 浏览器执行javascript脚本时 会检查这个脚本属于哪个页面 如果不是同源页面 就不会被执行 3 比如你在www 垃圾
  • window10安装MySQL数据库

    准备好软件 MySql的下载参考 1137条消息 mysql下载与安装过程 weixin 40396510的博客 CSDN博客 mysql数据库下载安装 1137条消息 安装MySQL的常见问题 二木成林的博客 CSDN博客 sc不是内部或
  • 手撸一套RBAC权限系统

    文章来源 RBAC权限系统分析 设计与实现 shuwoom com 目前 使用最普遍的权限管理模型正是RBAC Role Based Access Control 模型 这篇文章也主要是介绍基于RBAC的权限管理系统 我会从RBAC是什么
  • sql语句之DML语句

    1 SELECT 语句 SELECT 语句用于从表中选取数据 结果被存储在一个结果表中 称为结果集 SELECT 列名称 FROM 表名称 或 SELECT FROM 表名称 例如 eg SELECT LastName FirstName
  • leetcode面试频率

    参考 http blog csdn net yutianzuijin article details 11477603 ID 问题 频率 数据结构 算法 1 Two Sum 5 array set sort Two Pointers 8 S
  • 不踩坑的Python爬虫:如何快速学会爬取大规模数据

    如果你仔细观察 就不难发现 懂爬虫 学习爬虫的人越来越多 一方面 互联网可以获取的数据越来越多 另一方面 像 Python这样的编程语言提供越来越多的优秀工具 让爬虫变得简单 容易上手 无私分享全套Python爬虫干货 如果你也想学习Pyt
  • 【Android】OpenGL ES---绘制3D图形、应用纹理贴图

    绘制3D图形 glDrawElements int mode int count int type Buffer indices 根据indices指定的索引点来绘制三角形 第一个参数mode指定绘制的图形类型 可设置为GL10 GL TR
  • Matlab玩出新高度,变身表白女孩神器

    Matlab还可以这样玩儿 每逢节日愁哭程序员 不知道该送什么给喜欢的女孩子 在这里教你用Matlab玩儿出属于程序员的浪漫 送给她一整天的惊喜 一 效果图 二 完整模板代码 三 教你如何个性化定制 个性化定制1 个性化定制2 个性化定制3
  • ChatGLM2-6B安装部署(详尽版)

    1 环境部署 合理的上网工具 安装Anaconda3 安装GIT 安装GUDA 11 8 安装NVIDIA 图形化驱动 522 25版本 如果电脑本身是更高版本则不用更新 1 1 检查CUDA 运行cmd或者Anaconda 运行以下命令
  • 通讯录(动态实现与文件优化版)

    实现一个通讯录 通讯录可以用来存储1000个人的信息 每个人的信息包括 姓名 性别 年龄 电话 住址 提供方法 添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息 显示所有联系人信息 清空所有联系人 以名字排序所有联
  • backward()说明

    1 out backwark 中out是一个标量 此时可以直接使用out backwark import torch from torch autograd import Variable 生成一个内容为 2 3 的张量 Varibale