Caffe官网教程:
http://caffe.berkeleyvision.org/tutorial/
Caffe把模型定义成一个layer-by-layer的网络,通过bottom-to-top连接input data到loss,数据在网络中传递时通过前向和反向传播进行更新。
1,Blobs,Layers, and Nets
Blob是Caffe处理和传递的实际数据的封装,提供了保存数据的统一的存储器接口,是一个N维的数组,通常以行为主存储,方便改变最新的那一维。
Blob有2个存储块,一个data块,一个是diff块(网络计算的梯度)。
Layer通过bottom连接来读取输入,通过top连接来进行输出。每一个layer type包含三个计算指令:setup、forward、backward。
Net是由多个layer组成的有向非循环图(directed acyclic graph-DAG)。
例如一个简单的逻辑回归分类:
定义:
log: