A fast, ergonomic machine learning library for Rust with broad algorithm coverage and WASM-first defaults.
smartcore is a comprehensive machine learning library for Rust that provides production-friendly APIs, strong typing, and good defaults while remaining flexible for research and experimentation. It covers classical supervised and unsupervised methods with a modular linear algebra abstraction and optional ndarray support.
Rust developers building machine learning applications for production, especially those targeting WebAssembly or embedded deployments, as well as researchers needing a flexible, idiomatic Rust ML library.
Developers choose smartcore for its WASM-first design tuned for portability, ergonomic API with consistent traits, and broad algorithm coverage including linear models, tree-based methods, ensembles, SVMs, and clustering, all while maintaining strong typing and modular linear algebra.
A comprehensive library for machine learning and numerical computing. Apply Machine Learning with Rust leveraging first principles.
Defaults are tuned for WebAssembly and embedded deployments, making it ideal for browser-based or resource-constrained environments, with features like serde and datasets opt-in to minimize footprint.
Covers classical supervised and unsupervised methods, including linear models, tree-based ensembles, SVMs, and clustering, as highlighted in the Algorithms section for comprehensive ML workflows.
Provides consistent traits across modules and examples using native Rust vectors and matrices, with a quick start example demonstrating ease of use for tasks like KNN classification.
Offers strong linear algebra traits with optional ndarray integration, allowing flexibility for array-first workflows while maintaining abstraction, as noted in the Highlights.
Focuses solely on classical machine learning algorithms, lacking neural networks or deep learning capabilities, which limits its use for cutting-edge AI tasks.
Recent version updates like v0.4 introduced breaking changes and deprecations, such as dropping nalgebra-bindings, requiring migration efforts and potentially disrupting existing codebases.
As a Rust library, it has a nascent community compared to Python-based alternatives, which can mean fewer third-party tools, pre-trained models, or community support resources.
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Deep Learning for humans
Streamlit — A faster way to build and share data apps.
Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.