Pytorch学习记录——自动微分autograd

学习链接:https://blog.csdn.net/weixin_34062329/article/details/94677293
Tensor是PyTorch实现多维数组计算和自动微分的关键数据结构。一方面,它类似于numpy的ndarray,用户可以对Tensor进行各种数学运算;另一方面,当设置.requires_grad = True之后,在其上进行的各种操作就会被记录下来,用于后续的梯度计算,其内部实现机制被成为动态计算图(dynamic computation graph)。

autograd 软件包为 Tensors 上的所有操作提供自动微分。
从 tensor 和 gradients 来举一些例子。
1.TENSOR
当我们创建一个张量torch.Tensor,如果将其属性 .requires_grad=True 设置为 True,则会开始跟踪针对 tensor 的所有操作。
完成计算后, .backward() 来自动计算所有梯度。
停止对tensor历史追踪:.detach()可将历史计算记录分离。或者使用with torch.no_grad()将代码块包装起来。
Function
Tensor 和 Function 互相连接并构建一个非循环图,它保存整个完整的计算过程的历史信息。每个张量都有一个 .grad_fn 属性保存着创建了张量的 Function 的引用,其实就是查看tensor的历史操作,(如果用户自己创建张量,则grad_fn 是 None )。
计算导数,调用 Tensor.backward()
jupyter notebook代码:
http://localhost:8888/notebooks/10.%E8%87%AA%E5%8A%A8%E5%BE%AE%E5%88%86.ipynb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值