The implementation of this code is heavily borrowed from Caffe, runs only on cpu and the efficiency should be extremely low(when it's completed), help me with it if you're interested 😉
CaffeBean
Eigen -- A C++ template library for linear algebra
googletest -- for unit test
jsoncpp -- A C++ library for interacting with JSON
Boost.Gil -- Generic Image Library
Note that all these 3rd-party libraries except Boost.Gil had been contained in lib folder, after you have Boost.Gil correctly installed, clone the repo by
git clone https://github.com/SiriusKY/CaffeBean.git
then use cmake tool like
cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /path/to/CaffeBean
cmake --build /path/to/CaffeBean/cmake-build-debug --target CaffeBean -- -j 4
Now you are ready to go!
/path/to/CaffeBean/cmake-build-debug/CaffeBean
- Input Layer
- Fully Connected Layer
- L1 Loss Layer
- Relu Layer
- Pooling Layer(not fully completed)
- Softmax Loss Layer
- Convolution Layer
- Reshape Layer
- Accuracy Layer
- Finish as more layers as possible (important:Conv Layer)
- A python API
- Write the code
- Add unit test in
CaffeBean/lib/tests.cpp
- PR
- It's a toy, don't be serious