Polyaxon v3 is coming →

Connect operations into repeatable ML pipelines

Define dependencies, pass outputs between jobs, and control when a workflow continues—with schedules, conditions, and approval steps.

The managed flow and optimization engines are available with Polyaxon Cloud and self-hosted Enterprise. Plan limits apply to concurrency and active schedules.

A workflow with an explicit decision

  1. Train

    Record the model and environment artifacts.

  2. Evaluate

    Record the validation accuracy output.

Does the score meet your threshold?

Check successful execution and the recorded accuracy.

Approve and register

Review the candidate, then create acme/model-reg:v1.

Skip registration

Keep the results for inspection.

Illustrative DAG. Your components define training, evaluation, and registration; the workflow controls the handoff.

See it in code

Train. Evaluate. Approve the handoff.

Connect your training and evaluation components, check the recorded score, and require approval before registering acme/model-reg:v1.

Configure dependencies and conditions
version: 1.1
kind: component
name: reviewed-model
run:
  kind: dag
  operations:
    - name: train
      hubRef: acme/train-model:v1
    - name: evaluate
      hubRef: acme/evaluate-model:v1
      params:
        run: {ref: ops.train, value: globals.uuid}
    - name: register
      hubRef: acme/register-model:v1
      isApproved: false
      trigger: all_succeeded
      conditions: "{{ accuracy >= 0.9 }}"
      params:
        run: {ref: ops.train, value: globals.uuid}
        accuracy: {ref: ops.evaluate, value: outputs.val_accuracy, contextOnly: true}
        registry: {value: acme/model-reg}
        version: {value: v1}

Replace the illustrative acme projects and components with your own references. The evaluator declares and records val_accuracy; the training run records model and env artifacts. The registration component accepts run, registry, and version inputs. Replace the run UUID placeholders in the approval commands.

Reuse operations instead of coordinating scripts by hand

Make continuation a deliberate choice

Schedule recurring work and bound parallel runs

Inspect failures before choosing how to recover