Caffe is a deep learning framework that works well with big data. More general details about the Framework are given in our article on Caffe Deep Learning. This article describes a Caffe model and how to define a model architecture. A Caffe neural network architecture model is defined in a protocol buffer definition file called prototxt.
Protocol buffers are a language-neutral and platform-neutral way of serializing structured data for use in communications protocols, data storage, and neural networks in Caffe. They are flexible, efficient, and an automated mechanism for serializing structured data. The approach is similiar to XML, but smaller, faster, and simpler. After the data structure is defined once, the automatically generated source code is used to write and read structured data in applications. This enables that structured data can be written and read to and from data streams using a variety of languages. The approach is also extensible, because the data structure can be updated without breaking deployed programs that are compiled against the old data structure format. More general details about this technique can be found here. In Caffe this technique is used to define the layered architecture of a neural network model. One example of a protocol buffer prototxt file for the LeNet neural network architecture can be found here. More general pieces of information about Caffe layers are given here.
We refer to the following video for more details: