requires_grad
Variable变量的requires_grad的属性默认为False,若一个节点requires_grad被设置为True,那么所有依赖它的节点的requires_grad都为True。

x=Variable(torch.ones(1))
w=Variable(torch.ones(1),requires_grad=True)
y=x*w
x.requires_grad,w.requires_grad,y.requires_grad
Out[23]: (False, True, True)

y依赖于w,w的requires_grad=True,因此y的requires_grad=True (类似or操作)

volatile
volatile=True是Variable的另一个重要的标识,它能够将所有依赖它的节点全部设为volatile=True,其优先级比requires_grad=True高。因而volatile=True的节点不会求导,即使requires_grad=True,也不会进行反向传播,对于不需要反向传播的情景(inference,测试推断),该参数可以实现一定速度的提升,并节省一半的显存,因为其不需要保存梯度

前方高能预警:如果你看完了前面volatile,请及时把它从你的脑海中擦除掉,因为

UserWarning: volatile was removed (Variable.volatile is always False)

该属性已经在0.4版本中被移除了,并提示你可以使用with torch.no_grad()代替该功能

>>> x = torch.tensor([1], requires_grad=True)
>>> with torch.no_grad():
...   y = x * 2
>>> y.requires_grad
False
>>> @torch.no_grad()
... def doubler(x):
...     return x * 2
>>> z = doubler(x)
>>> z.requires_grad
False

https://pytorch.org/docs/master/autograd.html#locally-disable-grad

pytorch笔记:06)requires_grad和volatile相关推荐

  1. 【pytorch】requires_grad、volatile、no_grad()==>节点不保存梯度,即不进行反向传播

    requires_grad Variable变量的requires_grad的属性默认为False,若一个节点requires_grad被设置为True,那么所有依赖它的节点的requires_gra ...

  2. pytorch 笔记:手动实现AR (auto regressive)

    1 导入库& 数据说明 import numpy as np import torch import matplotlib.pyplot as plt from tensorboardX im ...

  3. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(3)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅲ(概率)

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  4. Pytorch笔记:风格迁移

    Pytorch笔记:风格迁移 训练模型:风格迁移网络+VGG16网络 生成网络:风格迁移网络 代码如下(根据陈云<深度学习框架:Pytorch入门与实践>的代码改动) main.py im ...

  5. 深度学习PyTorch笔记(9):自动求导

    深度学习PyTorch笔记(9):自动求导 4. 自动求导 4.1 理解 4.2 梯度 4.3 .requires_grad与.grad_fn 4.4 调用.backward()反向传播来完成所有梯度 ...

  6. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(4)线性神经网络(暂停)

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  7. 8月2日Pytorch笔记——梯度、全连接层、GPU加速、Visdom

    文章目录 前言 一.常见函数的梯度 二.激活函数及其梯度 1.Sigmoid 2.Tanh 3.ReLU 三.Loss 函数及其梯度 1.Mean Squared Error(MSE) 2.Softm ...

  8. 【 反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10)】

    反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10) 数学推导 BP算法 BP神经网络可以说机器学习的最基础网络.对于普通的简单 ...

  9. 深度学习PyTorch笔记(12):线性神经网络——softmax回归

    深度学习PyTorch笔记(12):线性神经网络--softmax回归 6 线性神经网络--softmax回归 6.1 softmax回归 6.1.1 概念 6.1.2 softmax运算 6.2 图 ...

  10. Introduction to PyTorch 笔记

    文章目录 Introduction to PyTorch 笔记 Part 1 - Tensors in PyTorch (Solution).ipynb Part 2 - Neural Network ...

最新文章

  1. Fiddler可以支持Websocket抓包了
  2. vijos1774:机器翻译
  3. 【HNOI模拟By YMD】move
  4. getpass函数简单使用
  5. centOS 阿里云yum地址配置
  6. adobe怎么统计字数_SEO技能:怎么写站内文章对网站排名更好?
  7. 在Workstation 14中导入vCenter Server Appliance 6.5
  8. 很冷门,但非常实用的 Python 库
  9. 高光谱成像技术在茶叶中的应用研究进展
  10. java设计app_一个APP的诞生——从零开始设计你的手机应用
  11. 190323每日一句
  12. EnableQ在线问卷调查引擎V3.0发布
  13. mysql中的cube和rollup_【hive】cube和rollup函数
  14. i217lm网卡驱动linux,英特尔I217-LM网卡驱动Windows10
  15. 西门子g120变频器接线图_西门子1500PLC通过工艺对象对G120变频器组态和调试
  16. 用雅虎邮箱再次注册微信个人订阅号
  17. mysql -b -w_MySQL系列(三)
  18. 关于对接支付接口遇到的问题(微信和支付宝)
  19. 计算机信息的应用安全中心在哪,通过Windows Defender安全中心“全新启动”功能恢复/刷新电脑...
  20. 运筹说 第42期 | 算法介绍之运输问题

热门文章

  1. 什么是配置文件 java_Java 中什么是配置文件
  2. 蓝桥杯 第四十二天 深刻认识自己是个蒻寂的一天
  3. 企业级springboot项目架构模板V3.0,开箱即用
  4. (17)2020-12-23(三栏布局、视口、百分比布局、媒体查询)
  5. cento卸载Mysql
  6. 投掷骰子的python代码_Python基础案例练习:掷骰子小游戏
  7. 基于STM32F4的CAN总线多节点通信设计
  8. 会计电算化计算机考试试题,2009年会计证考试会计电算化模拟试题1
  9. mysql 每个月的月底_即使mysql表中不存在月份,也要选择每个月
  10. 美国计算机科学硕士有奖学金嘛,美国计算机专业概况及奖学金介绍