

checkout the latest source from Github) but preferably should be reproducible, for example by always checking out a specific commit.

# Set Mongo Database URL export MONGO_URL =mongodb://localhost:27017/hyperdockĮach optimization target needs a target image. # Go into the Web UI source folder cd web/
#Hyperdock heler install
Or run it on your host with Meteor: # Install Meteor
#Hyperdock heler full
Or run it on your host with Python 3.6 and install with pip: pip install hyperdockįor full arguments to the worker run: hyperdock-worker -help. This is crucial for worker to start new containers
#Hyperdock heler how to
See the wiki for details on how to define the parameters space. Hyperdock supports grid search of parameters from lists and distributions. More about how to write a target image can found below. Logs from the target image are periodically tailed from the workers to the WebUI. Once the target image has evaluated the parameters it simply writes the loss to the file /hyperdock/loss.json with the option of storing important files to /hyperdock/out.

Parameters are available in the json file /hyperdock/params.json. They only need to be able to access the same Mongo database and the workers need to have access to any data required by the target image.Įach program that should be optimized needs to have its own Docker image, the target image, that is setup to load the parameters and write progress reports. Supervisor, Workers and WebUI need not run on the same host. The entire Hyperdock system can be distributed, i.e. They continually send status updates to the database to notify the user of progress. The Hyperdock Workers dequeues jobs from the work queue and then evaluates the target image with these parameters. It determines what jobs (a specific hyperparameter combination) need to scheduled, which jobs have failed and should be restarted, and notifies users of results. The Hyperdock Supervisor is a background process that monitors all trials. All trials, their status and results are stored in a Mongo database. The Hyperdock Web UI is the main interface for the end-users from where they can specify trials (a target Docker image and the hyperparameter space to search over). The figure below shows the Hyperdock system and its main components. That means that the target can be written in any language, use any framework or run on any operating system as long as it can be made into a Docker image. Hyperdock is a framework for hyperparameter search that can be used to optimized any target as long as that target can be run in a Docker container.

A simple framework for distributed hyperparameter optimization in Docker.
