This is a project to implement the tensor calcuation library and (inference) neural netowrk in c++, can see it as a revision of PyTorch and ncnn, the differnece is that I remove all codes that not relate to CPU, maybe will support GPU after but not now.
The netowrk structure is same as Neural Network with some enhancement and is inspired by ConvNetJS, Darknet, Caffe and ncnn.
It aims to enhance the performance on mobile phone platform.
The main purpose of this project is used for NTHU電機系實作專題.
Add some function for image loading and saving, which is powered by stb_image.
Add some drawing for image, which is powered by OpenCV.
- C++17
- No dependencies
- Multi-thread support with OpenMp
- Symobolic operation
- Arm optimization
mkdir build && cd build
cmake ..
make -j 8
g++ -Os -fopenmp -mavx2 -mfma -o otter *.cpp
$ ./otter