Documentation

Welcome to the developer documentation for SigOpt. If you have a question you can’t answer, feel free to contact us!
Welcome to the new SigOpt docs! If you're looking for the classic SigOpt documentation then you can find that here. Otherwise, happy optimizing!

SigOpt CLI Commands

Get Started Commands Back to Top

CommandDescription
sigopt configSame command to configure the API token and enable other features (logs and source code collection).
sigopt initCreate template files in the current directory to help you get started.
sigopt versionShow the version of the SigOpt CLI.

Runs CLI Commands Back to Top

sigopt run [-r/--run-file <RUN YML FILE>] [-p/--project <PROJECT_ID>] [EXECUTABLE COMMAND]
CommandDescription
Execute a Run from the indicated model execution code. An executable command must be provided, either as command arguments or via the run section of the provided run file (run.yml in the current directory by default). The Project can be specified manually, otherwise the SIGOPT_PROJECT environment variable or current directory name will be used.

Runs YAML File Formatting Back to Top

Specify the configuration of a Run or of the Runs that are produced during an Experiment. When used with SigOpt Orchestrate, job resource specifications will be determined by the resources specified in the run.yml file.

FieldRequired?Description
imageYesName of Docker container SigOpt Orchestrate creates. You can also point this to an existing Docker container to use for SigOpt Orchestrate.
nameYesName for your SigOpt Run or HPO experiment
runNoModel file to execute
resourcesNoResources to allocate to each Run. Can specify limits and requests for cpu, memory, ephemeral-storage and can specify GPUs.
# example Run yml file
name: My Run
run: python mymodel.py
resources:
  requests:
    cpu: 0.5
    memory: 512Mi
  limits:
    cpu: 2
    memory: 4Gi
  gpus: 1
image: my-run

Experiments CLI Commands Back to Top

CommandDescription
sigopt optimize [-e/--experiment-file <EXPERIMENT YML FILE>] [-p/--project <PROJECT_ID>] [EXECUTABLE COMMAND]Execute a SigOpt Experiment from the indicated execution code. Experiment settings must be provided, either with an experiment.yml file in the current directory or by manually specifying the file location. The Project can be specified manually, otherwise the SIGOPT_PROJECT environment variable or current directory name will be used.
sigopt create experiment [-e/--experiment-file <EXPERIMENT YML FILE>] [-p/--project <PROJECT_ID>]Create a Sigopt Experiment using an experiment file. Execution of the Experiment should be done manually with the sigopt start-worker command, or by fetching the Experiment in your code.
sigopt start-worker EXPERIMENT_ID [-r/--run-file run.yml] [EXECUTABLE COMMAND]This command starts a new Experiment worker. It has similar options to sigopt run, but requires an Experiment ID. If no commands are provided, the worker will use the run.yml file to specify execution.

Experiment YML File Formatting Back to Top

Specify the configuration of a Run or of the Runs that are produced during an Experiment.

FieldRequired?Description
nameYesName of the Experiment
typeYesType of Experiment to execute:
Search ExperimentType Flag
SigOpt Optimization Experimentoffline
All Constraints Experimentoffline
Grid Searchgrid
Random Searchrandom
parametersYesParameters and ranges specified for a SigOpt Experiment
metricsYesEvaluation and storage metrics for a SigOpt Experiment
parallel_bandwidthNoNumber of workers
budgetYesNumber of Runs for a SigOpt Experiment
# single_metric_experiment.yml
name: Single metric optimization
type: offline
parameters:
 - name: hidden_layer_size
   type: int
   bounds:
     min: 32
     max: 512
 - name: activation_function
   type: categorical
   categorical_values: ['relu', 'tanh']
metrics:
 - name: holdout_accuracy
   strategy: optimize
   objective: maximize
parallel_bandwidth: 1
budget: 30