Modern Deep Learning Module =========================== The module is wrapper to [tiny-dnn](https://github.com/tiny-dnn/tiny-dnn), a header only, dependency-free deep learning framework in C++11. Installation ------------ **Required Dependencies** - System under Unix or Windows - C++11 compiler - tiny-dnn headers - protoc compiler (part of the [protobuf](https://developers.google.com/protocol-buffers/docs/overview) library) **How to install tiny-dnn?** CMake will try to download a certain version of tiny-dnn which was tested to build with OpenCV. If the latest version is needed, location of the tiny-dnn folder can be specified manually: - Download tiny-dnn project somewhere in your system ``` cd /opt git clone https://github.com/tiny-dnn/tiny-dnn.git ``` - Run your OpenCV CMake pointing to your tiny-dnn headers location ``` cd /opt/opencv/build cmake -DTINYDNN_ROOT=/opt/tiny-dnn .. make -j4 ``` **Extra** You can enable some optimizations just for tiny-dnn backend cmake -DTINYDNN_USE_SSE=ON .. cmake -DTINYDNN_USE_AVX=ON .. Use third-party multithreading libs: TBB or OMP. cmake -DTINYDNN_USE_TBB=ON .. // then disable OMP cmake -DTINYDNN_USE_OMP=ON .. // then disable TBB NNPACK: Acceleration package for neural networks on multi-core CPUs.<br /> Check project site for installation: [https://github.com/Maratyszcza/NNPACK](https://github.com/Maratyszcza/NNPACK) cmake -DTINYDNN_USE_NNPACK=ON .. // not supported yet for Caffe loader See detailed module API documentation in http://docs.opencv.org/trunk/d1/df7/group__dnn__modern.html