Pytorch学习入门(二)--- Autograd

25 篇文章 27 订阅

pytorch能自动反向传播。 前向传播时,能够自动记录每个操作的拓扑顺序,反向传播时则可以自动反向传播。

Variable

Variable是一个类,对是对tensor的一个wrapper。
这里写图片描述
有三个属性.data, .grad.creator。(注意:新版的.creator已经改成.grad_fn了,这里不再说明。)如果是第一个运算节点,显然.creator是空,.grad只有调用.backward时候才会有。
require_grad可以指定某个variable是否计算其梯度。

import torch
from torch.autograd import Variable
x = Variable(torch.ones(2, 2), requires_grad=True)
print(x)  # notice the "Variable containing" line
'''
Variable containing:
 1  1
 1  1
[torch.FloatTensor of size 2x2]
'''

y = x + 2
print(y)
'''
Variable containing:
 3  3
 3  3
[torch.FloatTensor of size 2x2]
'''
print(y.creator)
'''
<torch.autograd._functions.basic_ops.AddConstant object at 0x7fe6000cb4a8>
'''
z = y * y * 3
out = z.mean()

out.backward()
print(x.grad)
'''
Variable containing:
 4.5000  4.5000
 4.5000  4.5000
[torch.FloatTensor of size 2x2]
'''


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值