Dioptra Components#
Reference material for the various components and resources that comprise experiment workflows in Dioptra.
Table of Contents
Quick Definitions#
Plugins#
Plugin: A collection of Python files which contain registeredFunction Tasksand/orArtifact Tasks.Plugin Parameter Type: Either a built-in or user-defined type, used for type validation.Function Task Inputs,Function Task Outputs,Artifact Task Outputs,Entrypoint Parametersand the outputs fromEntrypoint Artifact Parametersall have associatedPlugin Parameter Types.
Plugin Function Tasks#
Function Task: A registered Python function within aPluginfile that defines some computational task, used in theTask GraphinEntrypoints.Function Task Input: An input into aFunction Taskregistered as part of the task definition. Has an associatedPlugin Parameter Typefor type validation.Function Task Output: The output of aFunction Taskregistered as part of the task definition. Has an associatedPlugin Parameter Typefor type validation. AFunction Task Outputcan be fed in as aFunction Task Inputvia theTask Graph, or saved as anArtifactvia theArtifact Output Graph.
Plugin Artifact Tasks and Artifacts#
Artifact: The output of aFunction Taskthat has been saved to disk via the serialize method of anArtifact Task.Artifact Task: A registered subclass of ArtifactTaskInterface that defines serialization, deserialization, and validation logic for anArtifacttype. Used to saveArtifactsin theArtifact Output GraphinEntrypoints, and also to load savedArtifactsasEntrypoint Artifact ParametersatJobruntime.Artifact Task Output: An object that is returned by the deserialize method of anArtifact Task. Has an associatedPlugin Parameter Typefor type validation.
Entrypoints#
Entrypoint: Define parameterizable workflows, which can be reused across multipleExperiments.Entrypoint Parameter: An input used for theTask Graphand theArtifact Output Graph. Can be customized during aJobrun and have an optional default value. Has an associatedPlugin Parameter Typefor type validation.Entrypoint Artifact Parameter: A kind ofEntrypoint Parameter, where the value is read in from aSnapshotof anArtifactduringJobexecution. Can contain multiple objects, each of which has an associatedPlugin Parameter Typefor type validation.Task Graph: The sequence ofFunction Tasksthat anEntrypointexecutes, written in YAML. A directed, acyclic graph (DAG).Task Graph Step: A single step in theTask Graph, which must have a name. Can have positional and keyword arguments as well.Artifact Output Graph: The logic dictating whichFunction Task Outputsare saved toArtifactsand how (i.e. whichArtifact Tasksare invoked and their inputs). Written in YAML.
Experiments/Jobs#
Experiment: A logical container that holdsEntrypointsandJobruns.Job: A parameterized run of anEntrypoint.Queue: A queue manager forJobs. ManagesJobexecution for a specificworkerenvironment.Worker: Contains the resources for executing aJob. Default worker containers are available for GPU and CPU hardware. Custom workers can be developed.Metric: A numeric value that is associated with a specific step of aJob(i.e. training accuracy at a given epoch for the “train”Function Task).
Other#
User: A user profile with login credentials and permissions. Belongs to one or moreGroups.Group: A set ofUsersand permission rules for resource access. Currently, there is only a single “public”Group.Snapshot: A specific version of a Resource (e.g. Experiment, Plugin, Entrypoint, Artifact) in time.Tag: String values that are associated in many to many relationships with various Dioptra resources. Used for filtering tables, etc.
See Also#
Running Experiments - How to guides for creating resources with the Dioptra GUI / Python Client
Dioptra components explainers - Explanation on Dioptra components