First, the basic structure
The basic architecture of Caffe can be roughly divided into four large chunks: blobs, Layer, net, and solver.
1. A blob is a data representation of Caffe, which is used to store data passed between network layers and to learn the network parameters;
2, layer is the basic structure unit of the network to complete the forward propagation and reverse transmission of the data stored in the BLOB;
3, NET is the caffe of the neural network, it is responsible for the network of the various layer in tandem;
4, Solver is the optimization of the network solver. Second, the main source
1. Blob [. hpp. cpp]: Basic data structure, definition BLOB class;
2, common [. hpp. cpp]: Define Caffe class;
3, Internal_thread [. hpp. cpp]: defining thread classes;
4, net [. hpp. cpp]: Define network structure class net;
5, Solver [. hpp. cpp]: Define optimization method class solver;
6, Data_transformer [. hpp. cpp]: Defines the basic operation class Datatransformer of the input data;
7, Syncedmem [. hpp. cpp]: Defines the memory allocation and memory release class Caffemallochost for synchronizing GPU and CPU data;
8, Layer_factory [. hpp. cpp]: Defines the network layer layer class.