经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据/云/AI » 人工智能基础 » 查看文章
Pytorch之认识Variable
来源:cnblogs  作者:Ruyi.Luo  时间:2018/12/29 9:37:10  对本文有异议

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)

  1. tensor(7.0406)
  2. <SumBackward0 object at 0x000002A557C47908>
  1. tensor([[1., 1., 1., 1., 1.],
  2. [1., 1., 1., 1., 1.],
  3. [1., 1., 1., 1., 1.],
  4. [1., 1., 1., 1., 1.],
  5. [1., 1., 1., 1., 1.],
  6. [1., 1., 1., 1., 1.],
  7. [1., 1., 1., 1., 1.],
  8. [1., 1., 1., 1., 1.],
  9. [1., 1., 1., 1., 1.],
  10. [1., 1., 1., 1., 1.]])
  11. tensor([[1., 1., 1., 1., 1.],
  12. [1., 1., 1., 1., 1.],
  13. [1., 1., 1., 1., 1.],
  14. [1., 1., 1., 1., 1.],
  15. [1., 1., 1., 1., 1.],
  16. [1., 1., 1., 1., 1.],
  17. [1., 1., 1., 1., 1.],
  18. [1., 1., 1., 1., 1.],
  19. [1., 1., 1., 1., 1.],
  20. [1., 1., 1., 1., 1.]])
  1. 上面打印出了zTensor数值,以及通过.grad_fn得到其是通过sum这种方式得到的,通过.grad得到了xy的梯度

#构建一个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)





 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号