I am interested in convolutional neural networks (CNN) as an example of a computationally wide application that is suitable for acceleration using reconfigurable equipment (i.e. allows FPGA to be spoken)
To do this, I need to study a simple CNN code, which I can use to understand how they are implemented, how calculations are performed in each layer, how the output of each level is fed to the next input. I am familiar with the theoretical part ( http://cs231n.imtqy.com/convolutional-networks/ )
But I'm not interested in learning CNN, I want the full, self-contained CNN code to be pre-prepared, and all weight and offset values known.
I know that there are many CNN libraries, i.e. Caffe, but the problem is that there is no non-trivial sample code that is self-contained. even for the simplest Caffe example "cpp_classification" many libraries are called, the CNN architecture is expressed as a .prototxt file, and other input types are involved, such as .caffemodel and .binaryproto. The openCV2 libraries are also called. there are layers and layers of abstraction and different libraries working together to obtain a classification result.
I know that these abstractions are necessary to create a “usable” CNN implementation, but for a hardware person who needs to learn the code for bones, this is too much “unrelated work”.
My question is: can someone lead me to a simple and standalone CNN implementation with which I can start?
deep-learning caffe
bromanous
source share