Caffe (Convolutional Architecture for Fast Feature Embedding) is a deep learning framework, originally created by Yangqing Jia. It is open source, under a BSD licence. It is written in C++, with a Python interface.
Clients: Caffe is used in academic research, prototyping for startups, but also for industrial applications such as image, speech or multimedia recognition. Yahoo! has also integrated Caffe with the Apache Spark environment, creating the distributed CaffeOnSpark framework.
Caffe allows the use of off-the-shelf, industry-standard neural network configurations that have been tested. The set includes in particular AlexNet, which won the ImageNet image recognition competition in 2012, and GoogLeNet, which won the ImageNet competition in 2014.
Caffe manipulates blobs – multidimensional data sets that are used in parallel computations that are placed on the CPU or GPU. Learning in a convolutional neural network is implemented as a parallel multiprocessor computation of blocks from layer to layer (forward and backward). Solver coordinates the whole learning process – forward path from input to output data, obtaining error function, backward path (Backward Error Propagation Method) from output layer using error gradients. In doing so, Caffe implements different learning strategies for Solver.