pytorch笔记:06)requires_grad和volatile
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相关推荐
- 【pytorch】requires_grad、volatile、no_grad()==>节点不保存梯度,即不进行反向传播
requires_grad Variable变量的requires_grad的属性默认为False,若一个节点requires_grad被设置为True,那么所有依赖它的节点的requires_gra ...
- pytorch 笔记:手动实现AR (auto regressive)
1 导入库& 数据说明 import numpy as np import torch import matplotlib.pyplot as plt from tensorboardX im ...
- (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(3)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅲ(概率)
开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...
- Pytorch笔记:风格迁移
Pytorch笔记:风格迁移 训练模型:风格迁移网络+VGG16网络 生成网络:风格迁移网络 代码如下(根据陈云<深度学习框架:Pytorch入门与实践>的代码改动) main.py im ...
- 深度学习PyTorch笔记(9):自动求导
深度学习PyTorch笔记(9):自动求导 4. 自动求导 4.1 理解 4.2 梯度 4.3 .requires_grad与.grad_fn 4.4 调用.backward()反向传播来完成所有梯度 ...
- (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(4)线性神经网络(暂停)
开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...
- 8月2日Pytorch笔记——梯度、全连接层、GPU加速、Visdom
文章目录 前言 一.常见函数的梯度 二.激活函数及其梯度 1.Sigmoid 2.Tanh 3.ReLU 三.Loss 函数及其梯度 1.Mean Squared Error(MSE) 2.Softm ...
- 【 反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10)】
反向传播算法 Back-Propagation 数学推导以及源码详解 深度学习 Pytorch笔记 B站刘二大人(3/10) 数学推导 BP算法 BP神经网络可以说机器学习的最基础网络.对于普通的简单 ...
- 深度学习PyTorch笔记(12):线性神经网络——softmax回归
深度学习PyTorch笔记(12):线性神经网络--softmax回归 6 线性神经网络--softmax回归 6.1 softmax回归 6.1.1 概念 6.1.2 softmax运算 6.2 图 ...
- Introduction to PyTorch 笔记
文章目录 Introduction to PyTorch 笔记 Part 1 - Tensors in PyTorch (Solution).ipynb Part 2 - Neural Network ...
最新文章
- Fiddler可以支持Websocket抓包了
- vijos1774:机器翻译
- 【HNOI模拟By YMD】move
- getpass函数简单使用
- centOS 阿里云yum地址配置
- adobe怎么统计字数_SEO技能:怎么写站内文章对网站排名更好?
- 在Workstation 14中导入vCenter Server Appliance 6.5
- 很冷门,但非常实用的 Python 库
- 高光谱成像技术在茶叶中的应用研究进展
- java设计app_一个APP的诞生——从零开始设计你的手机应用
- 190323每日一句
- EnableQ在线问卷调查引擎V3.0发布
- mysql中的cube和rollup_【hive】cube和rollup函数
- i217lm网卡驱动linux,英特尔I217-LM网卡驱动Windows10
- 西门子g120变频器接线图_西门子1500PLC通过工艺对象对G120变频器组态和调试
- 用雅虎邮箱再次注册微信个人订阅号
- mysql -b -w_MySQL系列(三)
- 关于对接支付接口遇到的问题(微信和支付宝)
- 计算机信息的应用安全中心在哪,通过Windows Defender安全中心“全新启动”功能恢复/刷新电脑...
- 运筹说 第42期 | 算法介绍之运输问题
热门文章
- 什么是配置文件 java_Java 中什么是配置文件
- 蓝桥杯 第四十二天 深刻认识自己是个蒻寂的一天
- 企业级springboot项目架构模板V3.0,开箱即用
- (17)2020-12-23(三栏布局、视口、百分比布局、媒体查询)
- cento卸载Mysql
- 投掷骰子的python代码_Python基础案例练习:掷骰子小游戏
- 基于STM32F4的CAN总线多节点通信设计
- 会计电算化计算机考试试题,2009年会计证考试会计电算化模拟试题1
- mysql 每个月的月底_即使mysql表中不存在月份,也要选择每个月
- 美国计算机科学硕士有奖学金嘛,美国计算机专业概况及奖学金介绍