#machine #learning #machine-learning


A machine learning library for supervised training of parametrized models

12 releases

0.3.1 Jan 22, 2019
0.3.0 Jan 20, 2019
0.2.1 Jan 11, 2019
0.1.8 Nov 16, 2016
0.1.7 Sep 21, 2016

#141 in Machine learning

31 downloads per month

MIT license

756 lines


Build Status Docs MIT licensed Published Join the chat at https://gitter.im/vikos-optimization/Lobby

Vikos is a library for supervised training of parameterized, regression, and classification models

Design Goals

  • Model representations, cost functions, and optimization algorithms can be changed independently of each other.
  • Generics: Not committed to a particular data structure for inputs, targets, etc.
  • If the design goals above can only be achieved by sacrificing performance, so be it.

Current State

Just starting to get the traits right, by continuously trying new use cases and implementing the learning algorithms. If you are looking for more mature rust libraries in the domain of ML, you might want to check out:

Getting Started

  1. Install the rust package manager cargo. Goto rustup and follow the instructions on the page (in my experience this works fine for Windows, Ubuntu and OS X).

  2. Run cargo new --bin hello_vikos.

  3. switch to the hello_vikos directory.

  4. Run cargo run to execute the hello world program.

  5. Edit the Cargo.toml file. Add vikos = "0.2" to your dependencies. The file should now look somewhat like this:

    name = "hello_vikos"
    version = "0.2"
    authors = ["..."]
    vikos = "0.1.8"
  6. Insert use vikos; at the first line in src/main.rs

  7. You can now start replacing code in main with code from the tutorial.

    fn main() {
        /* tutorial code goes here */


Thanks to the folks of docs.rs for building and hosting the documentation!


Want to help out? Just create an issue, pull request or contact markus.klein@blue-yonder.com.


~35K SLoC