All Projects → FalkonML → Falkon

FalkonML / Falkon

Licence: mit
Large-scale, multi-GPU capable, kernel solver

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Falkon

Webboot
Tools to let a u-root instance boot signed live distro images over the web
Stars: ✭ 78 (-11.36%)
Mutual labels:  kernel
Php Sdk
百度AI开放平台 PHP SDK
Stars: ✭ 81 (-7.95%)
Mutual labels:  ai
Reinforcement Learning Wechat Jump
Reinforcement Learning for WeChat Jump
Stars: ✭ 85 (-3.41%)
Mutual labels:  ai
Aws S3 Cat Images
Generating Cat images using StyleGAN
Stars: ✭ 79 (-10.23%)
Mutual labels:  ai
Jsbattle
JavaScript Programming Game (inspired by RoboCode)
Stars: ✭ 80 (-9.09%)
Mutual labels:  ai
Linux 0.11
A heavily commented linux kernel source code in Chinese.
Stars: ✭ 81 (-7.95%)
Mutual labels:  kernel
Ntphp
Ever wanted to execute PHP in your kernel driver? Look no further!
Stars: ✭ 76 (-13.64%)
Mutual labels:  kernel
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+1343.18%)
Mutual labels:  ai
Ktf
Kernel Test Framework - a unit test framework for the Linux kernel
Stars: ✭ 81 (-7.95%)
Mutual labels:  kernel
Aichpoem
手把手教你搭建人工智能AI写诗平台,从模型搭建到前后端开发到SEO优化推广
Stars: ✭ 85 (-3.41%)
Mutual labels:  ai
Pragmaticai
[Book-2019] Pragmatic AI: An Introduction to Cloud-based Machine Learning
Stars: ✭ 79 (-10.23%)
Mutual labels:  ai
Deos
The distributed exokernel operating system
Stars: ✭ 80 (-9.09%)
Mutual labels:  kernel
Cross Adaptive Audio
Evolving Artificial Neural Networks for Cross-Adaptive Audio Effects
Stars: ✭ 82 (-6.82%)
Mutual labels:  ai
Tensorflowexample
Tensorflow实例
Stars: ✭ 78 (-11.36%)
Mutual labels:  ai
Skiboot
OPAL boot and runtime firmware for POWER
Stars: ✭ 85 (-3.41%)
Mutual labels:  kernel
Blockerized Dockchain
Because all problems are solvable with containers and blockchains
Stars: ✭ 77 (-12.5%)
Mutual labels:  ai
Eggos
A Go unikernel running on x86 bare metal
Stars: ✭ 1,232 (+1300%)
Mutual labels:  kernel
Theseus
A modern experimental OS written from scratch in Rust to explore novel OS structure, state management techniques, and how to maximally leverage the power of language by shifting OS responsibilities into the compiler.
Stars: ✭ 1,273 (+1346.59%)
Mutual labels:  kernel
Mimiker
Simple unix-like operating system for education and research purposes
Stars: ✭ 85 (-3.41%)
Mutual labels:  kernel
Softiwarp
SoftiWARP: Software iWARP kernel driver and user library for Linux
Stars: ✭ 84 (-4.55%)
Mutual labels:  kernel

Falkon

Python implementation of the Falkon algorithm for large-scale, approximate kernel ridge regression.

The code is well optimized and can scale to problems with tens of millions of points. Full kernel matrices are never computed explicitly so that you will not run out of memory on large problems.

Preconditioned conjugate gradient optimization ensures that only few iterations are necessary to obtain good results.

The basic algorithm is a Nyström approximation to KRR, which needs only three hyperparameters:

  1. The number of centers M - this controls the quality of the approximation: a higher number of centers will produce more accurate results at the expense of more computation time, and higher memory requirements.
  2. The penalty term, which controls the amount of regularization.
  3. The kernel function. A good default is always the Gaussian (or RBF) kernel (falkon.kernels.GaussianKernel).

For more information about the algorithm and the optimized solver, download our paper: Kernel methods through the roof: handling billions of points efficiently

The API is sklearn-like, so that Falkon should be easy to integrate in your existing code.

Documentation

Extensive documentation is available at https://falkonml.github.io/falkon/. Several worked-through examples are also provided in the docs.

If you find a bug, please open a new issue on GitHub!

Installing

Prerequisites are PyTorch >= 1.4 (with the CUDA toolkit if GPU support is desired) and a patched version of KeOps (which is distributed as a git submodule of this repository), cmake, and a C++ compiler which can compile PyTorch extensions (i.e. capable of compiling with -std=c++11).

Once the prerequisites are met, you can pip install . from the root of this repository.

For more detailed installation instructions see the docs.

Reference

If you find this library useful for your work, please cite the following publication:

@misc{falkonlibrary2020,
    title={Kernel methods through the roof: handling billions of points efficiently},
    authors={Meanti, Giacomo and Carratino, Luigi and Rosasco, Lorenzo and Rudi, Alessandro},
    year = {2020},
    archivePrefix = {arXiv},
    eprint = {2006.10350}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].