1.“计算图” 的概念?在 pytorch 框架下为何需引入“计算图” ?
计算图的概念:用于描述运算的有向无环图;结点表示张量,边表示运算。
在 pytorch 框架下引入“计算图” 的原因:便于计算梯度。
2. 给定一个计算图图例,请编写代码,实现如下事件:
① 计算:叶子结点 / 模型权重结点的梯度值
② 证明:非叶子节点梯度值被删除,节省内存
③ 输出:所有的运算过程
解答:
输出结果:
3. 写出:上述计算图图例中,非叶子节点梯度值的计算过程:
4. 指出:静态图和动态图的区别,pytorch及tensorflow分别属于何种?
pytorch 属于“动态图”,tensorflow 属于“静态图”(依据 “建图方式” 区分)
5. 正向传播 及 反向传播
正向传播从输入层到输出层,依次计算并存储神经网络的中间变量;
反向传播从输出层到输入层,依次计算并存储神经网络中间变量和参数的梯度;
在训练深度学习模型时,正向传播和反向传播相互依赖、交替进行。