Experiments and Jobs#
Summary: What is an Experiment?#
An experiment is a resource in Dioptra that is effectively a namespace for jobs. An experiment can have a number of entrypoints associated with it, and within that experiment those entrypoints can be run as jobs. Experiments are mainly an organizational resource, providing a way to filter jobs, provide access to users via groups, and reduce the number of entrypoints to sift through at job creation.
Summary: What is a Job?#
A job in Dioptra is an execution of an entrypoint with a specific configuration. When creating a job, a user provides the parameters, artifact parameters, and swap selections required by the entrypoint. The set of workflow instructions (the entrypoint), parameter values, artifact parameters, and swap selections are sent to the queue selected by the user at job creation.
If the entrypoint’s task graph contains swaps, the user must select exactly one task alias for each swap. These selections allow the same entrypoint structure to execute different task implementations. Dioptra applies the selections to produce a rendered task graph without swaps before passing it to the task engine. See Specifying Swaps for the supported Python client and REST API formats.
When a worker listening to that queue claims the job, it attempts to execute the provided entrypoint using the given parameter values, artifact parameter values, and rendered task graph within the worker environment.
Any logs generated during the lifetime of the job, along with any metrics or created artifacts are uploaded to the Dioptra RESTAPI and associated with the job (and are viewable from the Job Dashboard page.)
Dioptra maintains a job history by recording the experiment, entrypoint, parameters, artifact parameters, swap selections, logs, metrics and generated artifacts for all jobs. Even if a user deletes or changes an entrypoint or plugin associated with a job, Dioptra retains the executed version as a snapshot.
See Also#
Create Experiments - Step-by-step guide on creating an experiment.
Running Jobs - Step-by-step guide on running a job.
Experiments Reference - Reference page for experiments.
Jobs Reference - Reference page for jobs and their configuration.
Entrypoints Explanation - Explanation of entrypoints.