美文网首页
4.自动求导框架架构

4.自动求导框架架构

作者: origin42 | 来源:发表于2017-12-31 12:20 被阅读0次

本节是自动求导框架技术的第四节,本系列其余文章包括


自动求导框架综述

1. 矩阵求导

2. 链式法则与计算图

3. 控制流与其实现思路

5. 使用自动求导框架实现RNN


自动求导框架主要包括以下几个类:

Tensor:封装了张量以及张量的基本运算,也就是一个任意维度的数组。

Graph:图类,是虚拟图和计算图的基类,包括了图的基本算法:构件图的邻接表,图的转置,根据给定的节点对图进行剪枝,图的拓扑排序等。

Node:节点类,是虚拟节点,计算节点等节点的基类,是Graph的组成部分。

VirtualGraph:虚拟图类,主要包含一个前向传播构建计算图的方法 build_compute_graph。

VirtualNode:虚拟节点类,组成虚拟图,内部包含了一个计算节点工厂,可以根据虚拟节点的类型生成计算节点。每个虚拟节点生成的计算节点引用都会被缓存在虚拟节点中,使得用户可以通过虚拟节点访问到生成的计算节点;虚拟节点还可以控制生成的计算节点是否共享参数,默认是不共享。共享参数这一功能对于rnn的构造是很有必要的。

LoopNode 和 BranchNode,虚拟图中的控制节点,用于实现控制流。其中 LoopNode 内包含了一个子虚拟图。

ComputeGraph:计算图,由虚拟图构造出来,包括了前向传播和反向求导等功能。之所以和虚拟图VirtualGraph 一样包含了前向传播的功能,是因为大部分网络对于不同的数据实际上不会拥有动态的网络结构,计算图由虚拟图构造出来之后结构就不会变化了。所以计算图提供前向传播的功能是为了优化的考虑。

OperatorNode:计算节点的基类,主要包括 op () 前向计算函数和 grad_op () 求解梯度的函数,其子类包括参数节点 Parameter 类,数据输入节点 Input 类,各种运算比如基于张量的加法,减法,乘法,偏置,sigmoid 函数,二阶范数,一阶范数。

自动求导框架类图

相关文章

  • 4.自动求导框架架构

    本节是自动求导框架技术的第四节,本系列其余文章包括 自动求导框架综述 1. 矩阵求导 2. 链式法则与计算图 3....

  • 5. 使用自动求导框架实现RNN

    本节是自动求导框架技术的最后一节,本系列其余文章包括 自动求导框架综述 1. 矩阵求导 2. 链式法则与计算图 3...

  • 2.链式法则与计算图

    本节是自动求导框架技术的第二节,本系列其余文章包括 自动求导框架综述 1. 矩阵求导 3. 控制流与其实现思路 4...

  • 3.控制流与其实现思路

    本节是自动求导框架技术的第三节,本系列其余文章包括 自动求导框架综述 1. 矩阵求导 2. 链式法则与计算图 4....

  • 1.矩阵求导

    本节是自动求导框架技术的第一节,本系列其余文章包括 自动求导框架综述 2. 链式法则与计算图 3. 控制流与其实现...

  • 自动求导框架综述

    学习一门技术最好的方式是做一个玩具demo。最近为了深入理解自动求导框架的实现思路,我自己开发了一个自动求导框架,...

  • tensor 自动求导

    自动求导(autograd) 直接用张量定义的运算时无法求导的,自动求导功能由 autograde 模块提供。 这...

  • 小白必读-所有测试大咖都知道的自动化知识

    目录: 一、自动化测试与测试自动化 二、什么是自动化测试框架 三、自动化测试框架架构与组件 四、自动化测试框架的类...

  • 自动求导

    针对pytorch中自动求导机制进行介绍。 当 x = 1.5时, .reqires_grad 设置为 True,...

  • Pytorch基础篇--0

    源码:github code1.自动求导基础例子 12.自动求导基础例子 23.numpy转tensor;tens...

网友评论

      本文标题:4.自动求导框架架构

      本文链接:https://www.haomeiwen.com/subject/lhbogxtx.html