Tensor是Pytorch的一个完美组件(可以生成高维数组),但是要构建神经网络还是远远不够的,我们需要能够计算图的Tensor,那就是Variable。Variable是对Tensor的一个封装,操作和Tensor是一样的,但是每个Variable都有三个属性,Varibale的Tensor本身的.data,对应Tensor的梯度.grad,以及这个Variable是通过什么方式得到的.grad_fn。

# 通过一下方式导入Variable
from torch.autograd import Variable
import torch
x_tensor = torch.randn(10,5)
y_tensor = torch.randn(10,5)

#将tensor转换成Variable
x = Variable(x_tensor,requires_grad=True) #Varibale 默认时不要求梯度的,如果要求梯度,需要说明
y = Variable(y_tensor,requires_grad=True)
z = torch.sum(x + y)
print(z.data)
print(z.grad_fn)

z.backward()
print(x.grad)
print(y.grad)

tensor(7.0406)
<SumBackward0 object at 0x000002A557C47908>
tensor([[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.]])
tensor([[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.],[1., 1., 1., 1., 1.]])

#构建一个y = x^2 函数 求x = 2 的导数
import numpy as np
import torch
from torch.autograd import Variable
# 1、画出函数图像
import matplotlib.pyplot as plt
x = np.arange(-3,3.01,0.1)
y = x**2
plt.plot(x,y)
plt.plot(2,4,'ro')
plt.show()

#定义点variable类型的x = 2

x = Variable(torch.FloatTensor([2]),requires_grad=True)
y = x ** 2
y.backward()
print(x.grad)

转载于:https://www.cnblogs.com/ryluo/p/10190218.html

Pytorch之认识Variable相关推荐

  1. PyTorch中的Variable类型

    1 前言 今天在学习PyTorch~ 之前在莫烦的教程中看到了Variable类型的变量,后来看PyTorch的<Deep Learning with PyTorch: A 60 Minute ...

  2. Pytorch中的Variable

    Pytorch中的Variable pytorch两个基本对象:Tensor(张量)和Variable(变量) 其中,tensor不能反向传播,variable可以反向传播. Varibale包含三个 ...

  3. Pytorch中的variable, tensor与numpy相互转化

    来源:https://blog.csdn.net/m0_37592397/article/details/88327248 1.将numpy矩阵转换为Tensor张量 sub_ts = torch.f ...

  4. Pytorch中的variable, tensor与numpy相互转化的方法

    来源:https://blog.csdn.net/pengge0433/article/details/79459679 在使用pytorch作为深度学习的框架时,经常会遇到变量variable.张量 ...

  5. pytorch中的Variable还有必要使用吗?

    pytorch1.6文档 Variable 早在在pytorch0.4已经不需要了 tensor就支持autograd了 所以见到  data=Variable(data)  这样的用法请大胆删除Va ...

  6. pytorch中的Variable()

    参考链接:https://www.cnblogs.com/hellcat/p/8439055.html 函数简介 torch.autograd.Variable是Autograd的核心类,它封装了Te ...

  7. python中list函数中variables变量_如何在Python中使用变量,浅谈,Pytorch,的,Variable,方法...

    Variable的基本概念 autograd.Variable 是包的核心类.它包装了张量,并且支持几乎所有的操作.一旦你完成了你的计算, 就可以调用 .backward() 方法 来 自动计算所有的 ...

  8. PyTorch中Variable变量与torch.autograd.Variable

    一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...

  9. PyTorch中Variable变量

    一.了解Variable 顾名思义,Variable就是 变量 的意思.实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这正好就符合了反向传播,参数更新的属性. 具体来说,在pyt ...

最新文章

  1. 【LeetCode】2. Add Two Numbers
  2. Swift - final关键字的介绍,以及使用场景
  3. (旧)走遍美国——(三、文化2)
  4. jz2440开发板移植U-boot之修改代码支持DM9000网卡
  5. server sql top速度变慢解决方案_SQL Server数据库查询速度慢的原因和解决方法
  6. Linux免设置路由端口映射,2014/04/01 演示中设置linux路由器、端口过滤的使用、路由设置...
  7. infomix数据库版本sql_查询 informix数据库版本
  8. 创建用于图像大小调整和裁剪器保持纵横比的ASP.NET控件
  9. Linux命令-关机命令详解
  10. Calibre Umd Plugin (插件)
  11. 自定义OrderedMap
  12. matlab出现错误使用 / 矩阵维度必须一致
  13. 《代码之丑》学习总结
  14. 网络准入认证系统方案评估
  15. 六款自适应引导页HTML源码
  16. 今天玩了一款游戏,真不错哦,英文的
  17. 计算机械结构变形,机械结构温度变化的位移计算.ppt
  18. STM32F429的内部FLASH介绍
  19. gSOAP 源码分析(二)
  20. python中sha1 md5等用法

热门文章

  1. 键盘定位板图纸_罗技K750 SOLAR太阳能无线键盘评测
  2. 按钮 java_按钮大小(Java)
  3. android nds模拟器窗口,安卓NDS模拟器drastic模拟器使用经验分享
  4. ulp java_java.lang.Math.ulp(float f)方法实例
  5. java io教程_Java IO教程
  6. kotlin密封类_Kotlin密封级
  7. Java System.getProperty()
  8. 带有第三方工具的Spring Boot Initilizr
  9. primefaces_Primefaces选项卡,TabMenu,TabView,TagCloud
  10. 函数调用的汇编语言详解