A Clojure library for neural networks, regression, and feature learning with GPU acceleration support.
Cortex is a machine learning library for Clojure that provides tools for neural networks, regression, and feature learning. It allows developers to build and train ML models directly in Clojure, with support for GPU acceleration via CUDA and cuDNN. The library bridges functional programming with practical machine learning workflows.
Clojure developers and data scientists who want to implement machine learning models within the Clojure ecosystem, especially those needing GPU-accelerated computation for neural networks.
Developers choose Cortex for its seamless integration with Clojure's functional programming style, enabling ML development without leaving the Clojure environment. Its GPU acceleration support provides performance comparable to mainstream ML frameworks while maintaining Clojure's expressiveness.
Machine learning in Clojure
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates CUDA and cuDNN for high-performance computation on NVIDIA GPUs, with detailed setup instructions for Ubuntu and Mac, enabling competitive training speeds.
Seamlessly works with Clojure's REPL and functional programming paradigms, allowing ML model development within existing Clojure workflows without switching languages.
Provides tools for building neural networks and regression models using Clojure's concise syntax, demonstrated in examples like the MNIST classification test.
Includes practical unit tests and examples, such as the MNIST verification, to help users quickly start training and experimenting with models.
The library is not yet version 1.0, with frequent breaking changes expected and an unstable save format that may require effort to migrate between versions.
Setting up GPU acceleration requires manual installation of CUDA and cuDNN, with platform-specific steps that can lead to errors like jni linking issues, especially on Mac and Windows.
Lacks key functionalities such as recurrence support, multi-GPU training, and easy import of pre-trained models from frameworks like Keras, as admitted in the TODO section.