Linfa is a comprehensive machine learning library for Rust, providing implementations of classical ML algorithms including supervised learning (regression, classification, SVM, naive Bayes, decision trees, ensemble methods) and unsupervised learning (clustering, dimensionality reduction, ICA). The library features a modular architecture with core traits defining standard ML interfaces (Fit, Predict, Transformer), a flexible Dataset abstraction for data handling, and algorithm-specific crates following consistent patterns. It emphasizes performance through optional BLAS backends and parallel processing, while maintaining usability via builder-pattern hyperparameter configuration and comprehensive example code.
Falkon is a Python library for large-scale kernel ridge regression and logistic regression, leveraging Nyström approximation and preconditioned conjugate gradient to scale to billions of points. It provides a scikit-learn-like API (fit/predict) with GPU acceleration via custom CUDA/cuBLAS/cuSOLVER kernels and optional KeOps integration for on-the-fly kernel-vector products. The library includes hyperparameter optimization through differentiable objectives (LOOCV, GCV, Nyström compression) with gradient-based solvers, out-of-core operations for GPU memory overflow, and sparse tensor support. Benchmark infrastructure compares Falkon against GPyTorch, GPflow, and EigenPro on datasets like Higgs, TIMIT, MillionSongs. The codebase is well-tested with CI/CD for CPU/GPU builds and pre-built wheels for multiple PyTorch/CUDA combinations. While the core library is production-grade, some benchmark scripts are one-off and a few modules have TODO comments or limited platform support (Linux-only, Windows untested).