Flashlight is a fast, flexible machine learning library written entirely in C++ by Facebook AI Research and the creators of Torch, TensorFlow, Eigen, and Deep Speech. Native support in C++ and simple extensibility make Flashlight a powerful research framework that's hackable to its core and enables fast iteration on new experimental setups and algorithms with little unopinionated and without sacrificing performance. In a single repository, Flashlight provides apps for research across multiple domains. Flashlight can be broken down into several components as described above. Each component can be incrementally built by specifying the correct build options. Flashlight is most-easily built and installed with vcpkg. Both the CUDA and CPU backends are supported with vcpkg. For either backend, first, install Intel MKL. Flashlight app binaries are also built for the selected features and are installed into the vcpkg install tree's tools directory.
Features
- Modifiability to the core including internal APIs for tensor computation
- A small footprint, with the core clocking in at under 10 MB and 20k lines of C++
- High-performance defaults featuring fust-in-time kernel compilation with modern C++ via the ArrayFire tensor library
- An emphasis on efficiency and scale
- Automatic speech recognition
- Image classification
- Object detection and language modeling