python中backward是什么意思_python-PyTorch函数中的下划线后缀是什么意思...
您已经回答了自己的问题,即下划线表示PyTorch中的就地操作.但是,我想简要指出为什么就地操作会出现问题:
>首先,在大多数情况下,建议在PyTorch网站上不要使用就地操作.除非在沉重的内存压力下工作,否则在大多数情况下,不使用就地操作会更有效率.
https://pytorch.org/docs/stable/notes/autograd.html#in-place-operations-with-autograd
>其次,在使用就地操作时可能会出现计算梯度的问题:
Every tensor keeps a version counter, that is incremented every time
it is marked dirty in any operation. When a Function saves any tensors
for backward, a version counter of their containing Tensor is saved as
well. Once you access self.saved_tensors it is checked, and if it is
greater than the saved value an error is raised. This ensures that if
you’re using in-place functions and not seeing any errors, you can be
sure that the computed gradients are correct.
07001
这是从您发布的答案中摘录并经过稍微修改的示例:
首先是就地版本:
import torch
a = torch.tensor([2, 4, 6], requires_grad=True, dtype=torch.float)
adding_tensor = torch.rand(3)
b = a.add_(adding_tensor)
c = torch.sum(b)
c.backward()
print(c.grad_fn)
导致此错误:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
in
2 a = torch.tensor([2, 4, 6], requires_grad=True, dtype=torch.float)
3 adding_tensor = torch.rand(3)
----> 4 b = a.add_(adding_tensor)
5 c = torch.sum(b)
6 c.backward()
RuntimeError: a leaf Variable that requires grad has been used in an in-place operation.
其次,非就地版本:
import torch
a = torch.tensor([2, 4, 6], requires_grad=True, dtype=torch.float)
adding_tensor = torch.rand(3)
b = a.add(adding_tensor)
c = torch.sum(b)
c.backward()
print(c.grad_fn)
哪个工作得很好-输出:
因此,作为总结,我只想指出要在PyTorch中谨慎使用就地操作.
python中backward是什么意思_python-PyTorch函数中的下划线后缀是什么意思...相关推荐
- 【Python 函数前的下划线】
目录 1. 函数前的下划线的分类 2. 两种下划线的区别 1. 函数前的下划线的分类 Python函数前的下划线分为单下划线和双下划线两种: # 单下划线 def _add():...return# ...
- 成功解决在word文件的表格中当输文字时自动出现加红色和下划线
成功解决在word文件的表格中当输文字时自动出现加红色和下划线 目录 解决问题 解决思路 解决方法 解决问题 成功解决在word文件的表格中当输文字时自动出现加红色和下划线 解决思路 在输入文字的时候 ...
- python处理pdf提取指定数据_python从PDF中提取数据的示例
01 前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都 ...
- python编程试题单词倒排_Python:将句子中的单词全部倒排过来,但单词的字母顺序不变...
早上看到好友未央的一篇博文<一道google的测试工程师笔试题>,内容如下: 这是去年面试google测试工程师的一道题,题目如下: 设计一个函数,使用任意语言,完成以下功能: 一个句子, ...
- python判断网页密码加密方式_Python模拟网页中javascript加密与验证的相关处理
在做网络爬虫的过程中你是否一些在这方面做的很好的网站,你向知道他是通过哪些相关的操作做出这么好的网站,以下就是文章的相关内容的具体介绍,希望你浏览完下面的内容会有所收获.Python模拟网页的java ...
- python线程池回调函数_python回调函数中使用多线程的方法
下面的demo是根据需求写的简单测试脚本 #!/usr/bin/env python # coding: utf-8 # 第一个列表为依赖组件和版本号,后面紧跟负责人名称 # 接着出现第二个以来组建列 ...
- python在不同系统代码区别_python不同系统中打开方法
在Linux.Windows.Mac OS的命令行窗口或Shell窗口,执行python命令,启动Python交互式解释器.交互式解释器会等待用户输入Python语句.输入Python语句并回车,解释 ...
- python中reversed是什么意思_Python reversed函数及使用方法解析
Python reversed函数及使用方法解析 有些时候,程序需要进行反向遍历,此时可通过 reversed() 函数,该函数可接收各种序列(元组.列表.区间等)参数,然后返回一个"反序排 ...
- python的发展及应用前景论文_Python在物联网中的应用与发展综述
123 Python 在物联网中的应用与发展综述 陈光辉 (北京信息科技大学 自动化学院,北京 100091) 摘要:文章主要介绍了物联网的产生与发展和对人们生活与社会生产的促进作用,以及我国物联网发 ...
- python读取txt中的一列称为_Python读取文本中的数字
作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 1.例程1 先看文本内容形式: 1404796773468 ...
最新文章
- 正确返回Unicode码点大于0xFFFF的字符串长度
- 【Android 应用开发】 FastJson 使用详解
- 在5分钟内搭建企业内部私有npm仓库
- 思科网络设备及配置详解,网工入门必备指南!
- boost::king_ordering用法的测试程序
- Kubernetes,多云和低代码数据科学:2020年最热门的数据管理趋势
- 【CSU - 1023】【HRBUST - 1039】修路(二分,枚举)
- Linux namespace概述
- 错误:The project was not built due to Unparsed aapt error(s)
- leetcode题解976-三角形的最大周长
- python 仅保留数字_Python基本语法元素 | 语法元素分析
- Java 内存模型详解
- 【斯坦福大学公开课CS224W——图机器学习】六、图神经网络1:GNN模型
- win10桌面管理文件收纳_隐藏在Windows 10里的小技巧
- 学计算机如何防辐射,如何防辐射?学这五招_39健康网
- 水波纹特效怎么制作?这波水波纹特效拉动满满复古感
- Android Bmob后端云简单使用-增删改查
- css3 calc的使用
- 一个字符等于多少磅?
- Python爬虫三:抓取链家已成交二手房信息(58W数据)
热门文章
- Mockito when函数实现方式
- EasyExcel 固定(冻结)单元格
- storm apache_Apache Storm很棒。 这就是为什么(以及如何)使用它的原因。
- Android屏幕共享-传输图片
- 红米2怎么升android l,红米2的1G内存少装app够用?怎样让1G内存的安卓手机多装app而不卡?...
- 聆听音乐-推荐好听的歌曲
- 对射式光电传感器测速使用CD10406消抖动解决办法
- Java开发必知Linux命令
- [附源码]PHP计算机毕业设计多肉植物屋网站(程序+LW)
- Duplicate class com.xxx.xxx found in modules