Skip to content

LREN-CHUV/woken-validation

Repository files navigation

CHUV License Codacy Badge CircleCI

Woken validation

Benchmarking (model scoring) and cross-validation support add-on module for Woken.

This software requires Woken to work, as it establishes an Akka cluster with Woken as the master.

It embeds Apache Spark which provides the numerical methods for benchmarking and model scoring.

Usage

 docker run --rm --env [list of environment variables] --link woken hbpmip/woken-validation:2.8.0

where the environment variables are:

  • CLUSTER_IP: Name of this server advertised in the Akka cluster
  • CLUSTER_PORT: Port of this server advertised in the Akka cluster
  • CLUSTER_NAME: Name of Woken cluster, default to 'woken'
  • WOKEN_PORT_8088_TCP_ADDR: Address of Woken master server
  • WOKEN_PORT_8088_TCP_PORT: Port of Woken master server, default to 8088
  • LOG_LEVEL: Level for logs on standard output, default to WARNING
  • UDP_ARTERY: if set to true, enables UDP and Akka Artery for communication (experimental, not working yet)
  • RELEASE_STAGE: Release stage used when reporting errors to Bugsnag. Values are dev, staging, production
  • DATA_CENTER_LOCATION: Location of the datacenter, used when reporting errors to Bugsnag
  • CONTAINER_ORCHESTRATION: Container orchestration system used to execute the Docker containers. Values are mesos, docker-compose, kubernetes

How to build

You need the following software installed:

  • Docker 18.09 or better with docker-compose
  1. Run the build script
  ./build.sh

It will build the scala project into a Docker container.

Release

You need the following software installed:

Execute the following commands to distribute Woken as a Docker container:

  ./publish.sh

Acknowledgements

Funding

This work has been funded by the European Union Seventh Framework Program (FP7/2007­2013) under grant agreement no. 604102 (HBP)

This work is part of SP8 of the Human Brain Project (SGA1).

Sponsors

Thanks for the generous support of Bugsnag who offered us a Standard plan allowing us to inspect and report efficiently errors in our software.

Tools

We use the following tools for development:

  • IntelliJ IDEA
  • Bugsnag to report errors in real time to our development team
  • CircleCI for continuous integration