A Clojure library for dynamic neural network graphs with pluggable tensor backends, inspired by PyTorch.
Flare is a Clojure library for dynamic neural network graphs that enables eager execution and supports both dynamic and static graph approaches. It provides a flexible, performant alternative to frameworks like PyTorch, with pluggable tensor backends for hardware acceleration.
Clojure developers and machine learning practitioners interested in building neural networks with dynamic graphs and leveraging native hardware performance.
Developers choose Flare for its expressiveness in Clojure, performance comparable to PyTorch, and the ability to use pluggable backends like Neanderthal for Intel MKL, CUDA, and OpenCL support.
Dynamic Tensor Graph library in Clojure (think PyTorch, DynNet, etc.)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables dynamic graph construction with immediate computation, similar to PyTorch, allowing for intuitive debugging and model building directly in Clojure code.
Leverages Neanderthal for tensor operations with Intel MKL, CUDA, and OpenCL support, achieving performance comparable to or faster than PyTorch in many cases, as noted in the README benchmarks.
Offers a clean, functional approach to neural network design, making code more expressive and maintainable for developers familiar with Clojure's paradigms.
Provides a protocol-based module system for building reusable graph components that encapsulate parameters and other modules, enhancing code organization and reuse.
Currently only supports non-batch operations, which the README admits is a limitation for efficient training on large datasets, with auto-batching still in development.
Requires installing Intel MKL and, on macOS, disabling System Integrity Protection for Neanderthal to load native libraries, making initial configuration cumbersome compared to mainstream frameworks.
Being a Clojure-specific library with a smaller community, it lacks the extensive tooling, pre-trained models, and frequent updates of larger projects like PyTorch, as hinted by its 2017-era focus.
While Neanderthal supports CUDA and OpenCL, Flare's GPU support is noted as not fully implemented in the README, potentially limiting high-performance GPU usage for complex models.
Flare is an open-source alternative to the following products:
Caffe2 is a lightweight, modular deep learning framework from Facebook, designed for mobile and large-scale deployments, now merged into PyTorch.
TensorFlow is an open-source machine learning framework developed by Google for building and deploying ML models across various platforms.
PyTorch is an open-source machine learning framework that provides tensor computation with strong GPU acceleration and deep neural networks built on a tape-based autograd system.