Blobs: unified data, 抽象理解为caffe设计的标准格式的数据
Layers: data process,抽象理解为数据的处理
Nets: layer-by-layer schema,bottom-to-top.抽象理解为层之间的链接方式,由下至上
Blob storage and communication
blobs is a unified N-Dimensional array, and it can be used in store and process batches of images, model parameters, and derivatives for optimization.
for example:
(1) 4D blobs is the batch of image data, is N*K*W*H, the N is the num of the images and the K is the channels
(2) 2D blobs (shape (N, D)) and call the InnerProductLayer
Implementation Details
two trucks: data and diff原始数据与差值数据,前向的data和用于后向的diff
two ways: const and mutable常量与变量
Layer computation and connections
A layer takes input through bottom connections and makes output through top connections.
Net definition and operation
caffe model is a end-to-end model
end-to-end: 即输入是原始数据、输出是最终的loss,通过loss来反馈并修正网络参数。没有数据提取再输入等过程。
Model format
The models are defined in plaintext protocol buffer schema (prototxt) while the learned models are serialized as binary protocol buffer (binaryproto) .caffemodel files.