Documentation

Welcome to the developer documentation for SigOpt. If you have a question you can’t answer, feel free to contact us!
This feature is currently in alpha. Please contact us if you would like more information.

Install SigOpt Orchestrate

SigOpt Orchestrate is a command-line tool for managing training clusters and running optimization experiments.

There are five steps to getting SigOpt Orchestrate installed.

  1. Install SigOpt Orchestrate
  2. Configure SigOpt Orchestrate
  3. Configure AWS
  4. Create a Kubernetes cluster on AWS
  5. Test Cluster Connected

1. Install SigOpt Orchestrate Back to Top

We recommend installing SigOpt Orchestrate in a virtual environment or Conda environment so there are no conflicts with system packages. You can install and activate a virtual environment with the following commands:

python -m venv venv
source venv/bin/activate

SigOpt Orchestrate is a Python package you can install from:

pip install https://public.sigopt.com/orchestrate/releases/v0.11.0/orchestrate-0.11.0-py2.py3-none-any.whl

2. Configure SigOpt Orchestrate Back to Top

SigOpt Orchestrate is built to integrate with your SigOpt account. You will need to locally configure your SigOpt credentials.

Grab your API token below, or from the API Tokens page.

orchestrate config

SigOpt Orchestrate will prompt you with:

> SigOpt API Token? null
> Enable log collection? yes

Great! Now SigOpt Orchestrate is installed and running.

Alternatively, you can set the SIGOPT_API_TOKEN environment variable, preferably somewhere such as a .bash_profile or a .bashrc file.

export SIGOPT_API_TOKEN="null"

Learn more about Authentication with SigOpt from our docs, including information on the dev token.

3. Configure AWS Back to Top

SigOpt Orchestrate helps you manage clusters. This guide uses AWS EKS to create a cluster. If you already have a cluster on AWS or if you are using another cluster service, see our guide on Bring Your Own Cluster and skip to the test step below.

If your local development environment is not already configured to use AWS, the easiest way to get started is to configure your AWS Access Key and AWS Secret Key via the aws command line interface:

aws configure

See the AWS docs for more about configuring your AWS credentials.

If you're not an account admin, you may need to set up appropriate permissions. To do so, please see details in the guide, Create and Manage Kubernetes cluster on AWS to Enable Full Access.

4. Create a Kubernetes cluster on AWS Back to Top

SigOpt Orchestrate references a cluster configuration YAML file in the creation of a Kubernetes cluster on AWS.

Create a cluster.yml file. The example YAML file below defines a CPU cluster named tiny-cluster with two t2.small AWS instances.

# cluster.yml
provider: aws
cluster_name: tiny-cluster
cpu:
  instance_type: t2.small
  max_nodes: 2
  min_nodes: 0
kubernetes_version: '1.18'
For more details about choosing instances and reference docs for the configuration file, see our Cluster Configuration File reference.

To create the cluster, from the same directory as your cluster configuration file, run:

orchestrate cluster create -f cluster.yml

Cluster creation can take between 15-30 minutes. If you notice an error, please try re-running the same command. SigOpt Orchestrate will reuse the same EKS cluster so the second run will be much faster.

5. Test Cluster Connected Back to Top

When you have completed the above steps, run our test command to verify that your install is working:

orchestrate test

What's Next?

Now that you've got SigOpt Orchestrate connected to a cluster, we recommend the tutorials on Orchestrate a tracked Training Run or Orchestrate an HPO Experiment to run a training run or a set of training runs on your cluster.