Python SDK Example Workflows#

Walk through how to use the Python SDK in these basic and advanced workflow examples.

Find the Top Performing Checkpoint#

In this example, we’ll walk through the most basic workflow for creating an experiment, waiting for it to complete, and finding the top-performing checkpoint.

The first step is to import the client module and possibly to call login():

from determined.experimental import client

# We will assume that you have called `det user login`, so this is unnecessary:
# client.login(master=..., user=..., password=...)

The next step is to call create_experiment():

# Config can be a path to a config file or a Python dict of the config.
exp = client.create_experiment(config="my_config.yaml", model_dir=".")
print(f"started experiment {exp.id}")

The returned object is an Experiment object, which offers methods to manage the experiment’s lifecycle. In the following example, we simply await the experiment’s completion.

exit_status = exp.wait()
print(f"experiment completed with status {exit_status}")

Now that the experiment has completed, you can grab the top-performing checkpoint from training:

best_checkpoint = exp.list_checkpoints()[0]
print(f"best checkpoint was {best_checkpoint.uuid}")

Create an Experiment and Follow its Logs#

Using det CLI, you can create an experiment and print its logs until completion using:

det e create --follow ...

The same behavior can be replicated with the Python SDK:

exp = client.create_experiment(...)
for logline in exp.await_first_trial().iter_logs():
   print(logline)

Download a checkpoint#

You can download a checkpoint with a given UUID using the Python SDK:

ckpt = client.get_checkpoint(uuid)
ckpt.download("/path/to/download/dir")

Run and Administer Experiments#

Visit the det-python-sdk-demo to learn how to run and administer experiments using the Python SDK.