cluster.yml
, but you can name yours anything you like. The file is used when we create a SigOpt cluster, with sigopt cluster create -f cluster.yml
. You can update your cluster configuration file after the cluster has been created to change the number of nodes in your cluster or change instance types. These changes can be applied by running sigopt cluster update -f cluster.yml
. Some updates might not be supported, for example introducing GPU nodes to your cluster in some regions. If the update is not supported then you will need to destroy the cluster and create it again.cpu
, or gpu
cpu
or gpu
. Define the CPU compute that your cluster will need in terms of: instance_type
, max_nodes
, and min_nodes
. It is recommended that you set min_nodes
to 0 so the autoscaler can remove all of your expensive compute nodes when they aren't in use. It's ok if max_nodes
and min_nodes
are the same value, as long as max_nodes
is not 0.cluster_name
aws
aws_access_key_id
or aws_secret_access_key
.kubernetes_version
provider
sigopt cluster connect
. See page on Bringing your own K8s cluster.​system
min_nodes
, max_nodes
and instance_type
. The value of min_nodes
must be at least 1 so that you have at least 1 system node. The defaults for system
are:min_nodes
: 1
max_nodes
: 2
instance_type
: "t3.large"
tiny-cluster
with two t2.small
AWS instances.run.yml
and cluster.yml
template files for you if you run the following:run.yml
are:image
name
aws
resources
run
experiment.yml
file.budget
metrics
name
parameters
type
offline
— for SigOpt Optimization and All Constraint Experimentsrandom
— for Random Searchgrid
— for Grid Searchparallel_bandwidth
resources
resources
in order for your model to run. Keep in mind that you can specify fractional amounts of CPU, e.g. 7.5 or 7500m.--help
to learn about sub commands, arguments, and flags.sigopt cluster optimize
command, run:aws.additional_policies
section of the cluster configuration file.sigopt
package to read hyperparameters and write your model's metric(s).Multilayer Perceptron
models. The first example does not use SigOpt; the second example does use SigOpt. As you can see, the model with SigOpt uses sigopt.get_parameter
to read assignments from SigOpt, as well as sigopt.log_metric
to send its metric value back to SigOpt.resources
to ensure that your model has access to GPUs. Requests and limits are optional, but may be helpful if your model is having trouble running with enough memory or CPU resources.sigopt cluster optimize
is taking a long time, then you may want to try some of the following tips to reduce the build and upload time of your model:.dockerignore
file in your model directoryaws
will use AWS ECR as their default container registry, and cluster with the provider custom
will use Docker Hub.registry
argument when you connect to your cluster: