根据下面的代码和输出,不难发现在 loss 执行完 backward 操作之后
只有那些 requires_gradis_leaf 的属性同时为 TrueTensor 才会有 grad 属性。
不满足上面的条件也想要保存 grad,见这篇博文 Pytorch关于requires_grad_(True)的理解 。

而根据 这篇文章
Tesor 在下面几种情况下,才会是 leaf

# Creating the graph
x = torch.tensor([1.,2.,3.], requires_grad = True)
y = torch.tensor([4.,5.,6.], requires_grad = True)
z = x+y
loss = (z*z).sum()
loss.backward() #Computes the gradientprint("x requires_grad",x.requires_grad)
print('x is_leaf',x.is_leaf)
print('x grad_data',x.grad.data)print("\ny requires_grad",y.requires_grad)
print('y is_leaf',y.is_leaf)
print('y grad_data',y.grad.data) print("\nz requires_grad",z.requires_grad)
print('z is_leaf',z.is_leaf)print("\nloss requires_grad",loss.requires_grad)
print('loss is_leaf',loss.is_leaf)print('loss grad_data',loss.grad.data)
print('z grad_data',z.grad.data)

输出:

x requires_grad True
x is_leaf True
x grad_data tensor([10., 14., 18.])y requires_grad True
y is_leaf True
y grad_data tensor([10., 14., 18.])z requires_grad True
z is_leaf Falseloss requires_grad True
loss is_leaf FalseFile "xx.py", line 27, in <module>print('loss grad_data',loss.grad.data) #Prints '3' which is dz/dx
AttributeError: 'NoneType' object has no attribute 'data'z grad_data 也是一样的报错,就不贴上来了

pytorch 一个 Tensor的 is_leaf requires_grad 两个属性同时 为 True 才会保存 grad相关推荐

  1. 创建一个Rectangle类。 添加两个属性width、height,分别表示宽度和高度,添加计算矩形的周长和面积的方法。测试输出一个矩形的周长和面积。

    [Java]创建一个Rectangle类 添加两个属性width.height,分别表示宽度和高度,添加计算矩形的周长和面积的方法.测试输出一个矩形的周长和面积. /*作者:龙蝶 *日期:2020年4 ...

  2. Java中实现根据一个List中的数据的两个属性相同划分为同一类

    场景 有一个List,每一个元素是一个对象,根据每个对象的两个属性 是否相同划分为同一类,即两个属性都相同时才划为同一类. 并将同类中的num属性进行累加. 如图: 根据material_number ...

  3. 定义类MyProgram,包含两个属性:一个是private的整型属性data、一个是private的String类型属性str,重写toString,equals

    题目: 定义一个类MyProgram,包含两个属性:一个是private的整型属性data.一个是private的String类型属性str,封装这两个属性的四个方法setData( )和getDat ...

  4. Pytorch——如何创建一个tensor与索引和切片(二)

    1.两种常见的随机初始化 (1) rand函数 rander函数就是随机的使用0和1的均值分布来初始化,也就是说它从零和一的空间中随机的均匀的sample出来,这样数据就回均匀的分布在0和1之间. t ...

  5. 【pytorch】|tensor grad

    计算图与动态图机制 计算图是用来描述运算的有向无环图.计算图有两个主要元素:结点(Node)和边(Edge).结点表示数据,如向量,矩阵,张量:边表示运算,如加减乘除卷积等. 下面用计算图表示:y = ...

  6. pytorch中tensor、backward一些总结

    目录 说明 Tensor Tensor的创建 Tensor(张量)基本数据类型与常用属性 Tensor的自动微分 设置不可积分计算 pytorch 计算图 backward一些细节 该文章解决问题如下 ...

  7. PyTorch:tensor、torch.nn、autograd、loss等神经网络学习手册(持续更新)

    PyTorch1:tensor2.torch.nn.autograd.loss等神经网络学习手册(持续更新) 链接:画图.读写图片 文章目录 一.tensor 二.完整训练过程:数据.模型.可学习参数 ...

  8. pytorch方法,Tensor及其基本操作_重点

    由于之前的草稿都没了,现在只有重写-. 我好痛苦 本章只是对pytorch的常规操作进行一个总结,大家看过有脑子里有印象就好,知道有这么个东西,需要的时候可以再去详细的看,另外也还是需要在实战中多运用 ...

  9. pytorch学习笔记 1. pytorch基础 tensor运算

    pytorch与tensorflow是两个近些年来使用最为广泛的机器学习模块.开个新坑记录博主学习pytorch模块的过程,不定期更新学习进程. 文章较为适合初学者,欢迎对代码和理解指点讨论,下面进入 ...

最新文章

  1. RHEL5.1单域主/从NIS服务器配置及测试
  2. sqlalchemy.orm 多条件查询更新
  3. maven 通用pom.xml
  4. 一步一步学Silverlight 2系列(34):使用Silverlight Streaming托管Silverlight应用程序_转载...
  5. asp.net ajax中文乱码的解决?2010-01-19 12:06
  6. mysql5.6 pid_MySQL5.6启动报错The server quit without updating PID file
  7. ionic checkbox 精简用法
  8. BugkuCTF web5
  9. 【编程珠玑】内联函数和宏
  10. 使用openssh的登录的三种方法
  11. Ajax Post请求实例
  12. python连接informix数据库
  13. android rom root权限,教你刷机包获取ROOT权限的方法
  14. js中的几种随机排序方案
  15. 【Flink】Flink 做检查点 报错 Checkpoint Coordinator is suspending.
  16. 基本的LC串联和并联振荡电路分析
  17. 自定义View实现雨点洒落效果
  18. 计算机与信息技术基础读书笔记,信息技术读书笔记
  19. ECharts地图,自定义map地图显示不同图标点,点击标点显示不同弹框
  20. Opencv人数统计 yolo kcf人头跟踪 人数统计 KCF目标跟踪 YOLO目标跟踪

热门文章

  1. react mvvm_SwiftUI与React式MVVM iOS架构
  2. web,java,poi导出excel
  3. 阅读《Detection of EEG-Based Eye-Blinks Using A Thresholding Algorithm》小结
  4. Are You Talking to Me? Reasoned Visual Dialog Generation through Adversarial Learning
  5. matlab 包含nan的行,matlab中去除含有NaN的行或者列
  6. 凯恩斯与艺术品投资的更大笨蛋理论
  7. AIX各项知识链接(IBM官网)
  8. 成年人必看的六个故事教你学会做人
  9. 香港四日,逛吃逛吃—16家地道美味全纪录+伴手礼推荐
  10. 讨论——如何避免在直通车中高展现底点击的现象