深度之眼PyTorch训练营第二期 ---3计算图与动态图机制
Posted cola-1998
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度之眼PyTorch训练营第二期 ---3计算图与动态图机制相关的知识,希望对你有一定的参考价值。
一、计算图
1、计算图是用于描述运算的有向无环图。
- 主要有两个元素:结点(Node)、边(edge)
- 结点表示数据,如向量、矩阵、张量
- 边表示运算,如加减乘除卷积等
例子:用计算图表示 y = (x + w) * (w + 1)
拆分:a = x + w b = w + 1 ---> y = a * b
2、计算图与梯度求导
=b * 1 + a * 1
=b + a
=(w+1) + (x+w)
=2*w + x + 1
=2 * 1 + 2 + 1
=5
y到w所有路径
3、叶子结点:用户创建的结点称为叶子结点,如X与W
- is_leaf:指示张量是否为叶子结点
- retain_grad():保存相应张量的梯度
- grad_fn:记录创建该张量时所用到的方法(函数) --- 反向传播时常用
结果:y.grad_fn = <MulBackward0>
a.grad_fn = <AddBackward0>
b.grad_fn = <AddBackward0>
二、动态图 Dynamic Graph
- 动态图:运算与搭建同时进行 ---PyTorch 灵活,易调节
- 静态图:先搭建图,后运算 ---tensorflow 高效,不灵活
以上是关于深度之眼PyTorch训练营第二期 ---3计算图与动态图机制的主要内容,如果未能解决你的问题,请参考以下文章
深度之眼PyTorch训练营第二期 ---5Dataloader与Dataset