A fast, flexible C++ standalone library for machine learning with high-performance defaults and total internal modifiability.
Flashlight is a fast, flexible machine learning library written entirely in C++, developed by Facebook AI Research and creators of Torch and TensorFlow. It provides a standalone framework for building and training neural networks with high-performance defaults and total internal modifiability, enabling efficient research and deployment across domains like speech, vision, and text.
Machine learning researchers and engineers who need a high-performance, customizable C++ framework for developing and experimenting with neural networks, particularly in domains like automatic speech recognition, computer vision, and language modeling.
Developers choose Flashlight for its combination of performance, flexibility, and small footprint, offering total internal modifiability and efficient C++-native APIs without the overhead of larger frameworks, making it ideal for cutting-edge research and scalable applications.
A C++ standalone library for machine learning
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides full access to internal APIs for tensor computation and framework customization, enabling deep control over neural network internals as highlighted in the core features.
Core library is under 10 MB and 20k lines of C++ code, making it lightweight and manageable for integration into performance-critical systems.
Uses just-in-time kernel compilation via ArrayFire for optimized tensor operations across CUDA, OpenCL, and CPU backends, ensuring efficient execution.
Includes pre-built apps for automatic speech recognition, image classification, object detection, and language modeling, accelerating research in these domains with provided documentation and tutorials.
Requires installing multiple dependencies like CUDA, Intel MKL, ArrayFire, and others, with a non-trivial setup process detailed in the building instructions, which can be time-consuming.
Primarily targets Linux-based systems, with only minimal setup for macOS and no native Windows support, restricting cross-platform development opportunities.
Has a smaller user base compared to mainstream frameworks, resulting in fewer tutorials, pre-trained models, and third-party extensions, which can hinder quick adoption.