Variable详解
Variable(变量)
目前官方已经弃用variable了,tensor可以直接设置requires_grad=True
来源: torch.autograd.Variable()
(一)特点
- variable是一种可以不断变化的变量,符合反向传播,自动求导、参数更新的属性,除此之外和tensor没有本质区别。
- 可通torch_data(torch_data) 进行tensor到Variable的转换
- variable默认不被求导 (requires_grad属性默认为False)
(二)组成属性
- data : 得到对象的tensor数值
- grad : 得到反向传播梯度
- requires_grad :是否需要求梯度
(三)代码展示
from torch.autograd import Variable x = Variable(torch.Tensor([3]), requires_grad=True)
a = Variable(torch.Tensor([5]), requires_grad=True)
bias = Variable(torch.Tensor([9]), requires_grad=True)
c = Variable(torch.Tensor([12]), requires_grad=False) # 设置一个不需求导做对比
# 构建一个计算图
y = a * x + bias * c # y = a * x + bias * c= 5 * 3 + 9 * 12
# 反向传播
y.backward() # same as y.backward(torch.FloatTensor([i])) print(x.data, x.grad, x.requires_grad) # tensor([3.]) tensor([5.]) True
print(a.data, a.grad, a.requires_grad) # tensor([5.]) tensor([3.]) True
print(bias.data, bias.grad, bias.requires_grad) # tensor([9.]) tensor([12.]) True
print(c.data, c.grad, c.requires_grad) # tensor([12.]) None False
Variable详解相关推荐
- uboot中$(origin variable)详解
$(origin variable)详解 先说一下 origin语法 origin函数不像其它 ...
- 条件变量(condition variable)详解
原理: 假设我们需要解决这样一个问题:一个列表记录需要处理的任务.一个线程往此列表添加任务,一个线程processTask处理此列表中的任务.这个问题的一个关键点在于processTask怎么判断任务 ...
- $(origin variable)详解
先说一下origin语法:origin函数不像其它函数.他并不直接操作变量的值,只是告诉你这个变量是从哪里来的? 其语法是:$(origin variable) 注意这里是变量的名字,不是引用,所 ...
- Uboot Makefile 中 $(origin variable)详解
在阅读Uboot中的Makefile时,发现下面的代码: ifdef O ifeq ("$(origin O)", "command li ...
- Makefile---(origin variable)详解
先说一下 origin语法 origin函数不像其它函数.他并不直接操作变量的值,只是告诉你这个变量是从哪里来的(好好理解这句话)? 其语法是: $(origin variable) 注意这里是 ...
- Pytorch的Variable详解
pytorch两个基本对象:Tensor(张量)和Variable(变量) 其中,tensor不能反向传播,variable可以反向传播. tensor的算术运算和选取操作与numpy一样,一次你nu ...
- python变量初始化_tensorflow之变量初始化(tf.Variable)使用详解
默认本系列的的读者已经初步熟悉tensorflow. 我们通过tf.Variable构造一个variable添加进图中,Variable()构造函数需要变量的初始值(是一个任意类型.任意形状的tens ...
- python variable_PyTorch中的Variable变量详解
一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...
- pytorch nn.LSTM()参数详解
输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num ...
最新文章
- Java项目:小蜜蜂扩音器网上商城系统(java+JSP+Servlet+JDBC+Ajax+mysql)
- LeetCode 225. Implement Stack using Queues--用队列实现栈--C++解法
- apollo local 模式_Apollo 源码解析 —— 客户端配置 API(一)之一览
- java中整数的整数次方_数值的整数次方 - 剑指 Offer 学习心得_教程_Java开发社区...
- 菜鸟要做架构师(一)——如何快速开发中小型系统
- java的编译和连接方法_Java:编译时解析和“最具体的方法”
- 【JQuery】ajax 调用
- foreach的 多种用法
- 数据科学入门与实战:玩转pandas之六时间序列
- Activity 启动模式
- #{}不自动改参数类型_C++笔记——参数传递中的指针传递和引用传递
- swustoj水王C语言,swust西南科技大学OJ数据结构80题答案
- 【西门子PLC S7-200smart与汇川变频器通过通讯控制】
- 分门别类刷PAT甲级
- 鼠标移动效果html5,js实现鼠标左右移动,图片也跟着移动效果
- asp.net服务器之间文件,aspnet 服务器文件
- 赋值具有的非单一 rhs 维度多于非单一下标数怎么办
- 各大公司年报中真实的中国
- Aseprite入门教程
- 【论文汇总】2D目标检测文章汇总,持续更新