How to setup ALP?

Requirements

Because the whole architecture has a lot of components we use Docker to manage the platform and isolates the services.

ALP has been developed to run on Ubuntu and has not been tested on other OS.

You should first install Docker and install nvidia-docker, then play a bit with docker (check if you can access your GPU with nvidia-docker). Then, you should be ready to install ALP.

You can then get ALP via pip:

pip install git+git://github.com/tboquet/python-alp

That will install ALP on your machine, and you will be able to launch it via the Command Line Interface.

Launching ALP with the CLI

To begin, we can generate a base configuration using ALP CLI. We choose to write configuration files on the host machine in order to be able to customize them easily afterwards.

alp --help

Will provide you with some help about the command line interface.

Generating a new configuration is as easy as:

alp --verbose genconfig --outdir=/path/to/a/directory

The command will generate a base configuration with one controler, one scikit learn worker and one keras worker. We specify the output directory where we want to write the three configuration files. The first file alpdb.json defines the connection between the database of models and other containers. The second file alpapp.json defines the connections between the broker, its database and the other containers. The third file containers.json defines all the containers of the architecture. The linking is automatically done and ALP will use the newly created files to launch a new instance.

In any case, verify that the ports that you want to use are free for the broker to communicate with the monitoring containers and for the jupyter notebooks (if any) to run.

To start all the services you can use alp service start:

alp --verbose service start /path/to/a/directory

You can then take a look at the status of the containers:

alp --verbose status /path/to/a/directory

You should be able to access the Jupyter notebook on the port 440 of the machine where you launched the services.