美文网首页
gluon源码分析3

gluon源码分析3

作者: 迷途的Go | 来源:发表于2018-01-04 23:10 被阅读0次

gluon架构

image

第一部分是定义模型,用户写模型代码或者逻辑的地方,第二部分是gluon定义的一些算子接口,比如卷积,bn那些,当前还是比较缺乏,第三部分是block, 这里是用户写模型要交互的类,gluon定义了forward等一些重要函数,变量都定义在这,比如forward接口函数,梯度,weight等等第四部分运行时,gluon定义了自动求导等等,在这里gluon和原生mxnet有一个对比的部分,最后两者调用一样的mxnet后端

执行流图

image
  • 用HybridBlock写模型,默认用ndarray命令式执行前向计算,更新梯度
  • 执行hybridize后,第一次执行hybrid_forward会存储计算图,以后再调用直接调用计算图

类图关系

image

python层面的代码,contrib应该会放一些贡献者的包装好的算子代码什么的;data用于加载数据;model_zoo里面定义了很多模型,目前主要是分类模; nn定义了常见的一些神经网络层,conv, bn, active等;rnn里面定义循环卷积的算子;block定义了block, hybridblock等逻辑,这个是gluon最重要的接口;loss里面定义各种各样的loss函数;parameter定义的参数权重的类,包装了一个字典;trainer,主要用于更新梯度。

主要的类图关系如下图:

image

相关文章

  • gluon源码分析3

    gluon架构 第一部分是定义模型,用户写模型代码或者逻辑的地方,第二部分是gluon定义的一些算子接口,比如卷积...

  • gluon源码分析2

    动态图接口gluon优缺点分析 优点 高效 通过执行net.hybridize的方式转为符号式执行,获得性能和更容...

  • gluon源码分析4

    hybridize原理 什么是符号式编程 举个沐神的例子 上面代码对应3个过程: 定义计算流程 编译成可执行的程序...

  • Kafka源码分析-Content Table

    Kafka源码分析-网络层-1 Kafka源码分析-网络层-2 Kafka源码分析-网络层-3 Kafka源码分析...

  • OkHttp3源码分析[综述]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • OkHttp3源码分析[DiskLruCache]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • OkHttp3源码分析[复用连接池]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • OkHttp3源码分析[任务队列]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • OkHttp3源码分析[缓存策略]

    OkHttp系列文章如下 OkHttp3源码分析[综述] OkHttp3源码分析[复用连接池] OkHttp3源码...

  • XVolley-基于Volley的封装的工具类

    1.Volley源码分析(一)2.Volley源码分析(二)3.Volley源码分析(三)4.XVolley-基于...

网友评论

      本文标题:gluon源码分析3

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