Pytorch简单学习入门--Autograd自动求导

Autograd自动求导

autograd是Pytorch的核心,可以用这个包来训练神经网络。torch.tensor是这个包的核心类,主要参数是requires_grad=,如果为True,代表追踪tensor的所有操作。当完成操作后,可以通过调用.backward来自动计算梯度。这里和莫烦老师的笔记有点不同,新的Pytorch版本里面,将Tensor和Variable进行了合并。

import torch

tensor = torch.tensor([[1., 3.], [1., 3.]], requires_grad=True)
# out = torch.mean(tensor.mul(tensor))
out = torch.mean(tensor * tensor)
print(out)
out.backward()
print(tensor.grad)

输出结果为:

tensor(5., grad_fn=<MeanBackward0>)
tensor([[0.5000, 1.5000],
        [0.5000, 1.5000]])

这里有三点需要注意:

  1. 对于requires_grad必须要求tensor是float。如果是int,必须在后面加上dtype=torch.float。
  2. out必须是标量,之后才可以用backward。
  3. 利用.grad显示出关于tensor的梯度,相当于就是求一个二次函数的一阶导。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值