caffe基本构架

来源:互联网 发布:淘宝隐形牙套有用吗 编辑:程序博客网 时间:2024/06/02 05:10

Caffe重视模块化设计,因为神经网络本质上是有相互连接的网络层构成,网络处理的数据块可以在网络层间前向和反向传递。接下来看看Caffe中的4大模块:

  • Blob: 是Caffe的数据表示,隐藏了CPU/GPU存储申请和同步的细节(此功能由SyncedMemory实现),用来存储网络层间传递的数据以及学习到的网络参数。
  • Layer: 是网络的基本结构单元,负责完成Blob中存储数据的前向和反向传递。
  • Net: 是Caffe的神经网络表示,负责将网络中的各个Layers串联起来,构成有向无环图。
  • Solver: 是Caffe神经网络优化的求解器,监控网络参数的更新,前向后向数据生成,协调神经网络的训练和测试,比如使用什么梯度下降算法以及具体参数设置,同时负责保存和恢复训练状态以及存储网络参数。

这4个模块的层次和复杂性从低到高,贯穿整个Caffe框架。刚开始阅读Caffe源码时,我觉得按照这个bottom-up的顺序比较好。




来自:http://imbinwang.github.io/blog/inside-caffe-code-overview
0 0
原创粉丝点击