Documentation Index
Fetch the complete documentation index at: https://docs.adaptive-ml.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Progress reporting allows you to track and display the progress of your recipe’s execution in Adaptive Engine. This is useful for long-running recipes where you want to monitor how much work has been completed and how much remains. Progress reporting consists of two main components:- Define stages: Define logical phases of your recipe execution up-front
- Update progress: Report completion status for each stage
Defining stages
Usectx.job.register_stages() to define the stages of your recipe:
Reporting progress
Generic notifier
Adaptive Engine provides a simple interface to report progress, which you can access viaRecipeContext (generally shown as the ctx input parameter):
Stage-specific notifier
If you don’t want to constantly pass a “stage” parameter, you can create aStageNotifier, which is a copy of ctx.job that holds a default stage. AllTraining classes take in an optional stage_notifier parameter, which - as the name indicates - must be a stage-bounded notifier. This means you can follow the progress of training in # training samples processed from the Adaptive UI without having to edit the Trainer classes.
Single event notifications
Finally, it’s frequent that you just want to report that something happened in your recipe, not necessarily that ”# X out of a total # Y” samples/steps have been processed. A good example is reporting that a model has been spawned, which is a milestone in the recipe, but is a single action. For these cases, to decrease code verbosity you can use theSimpleProgressNotifier progress manager:
SimpleProgressNotifier works in both synchronous and asynchronous contexts.Linking training monitoring dashboards
When using a metric logger (W&B, MLflow, TensorBoard), you can link the logger’s monitoring dashboard directly to your progress stages. This allows users to click through from the Adaptive UI to view detailed training metrics.training_monitoring_link to their stage notifier. This means when users view the run’s progress in Adaptive, they can click a link to view detailed metrics in W&B, MLflow, or TensorBoard.
Manual monitoring link configuration
You can also manually set or override monitoring links in two ways: from adaptive_harmony.metric_logger import get_prod_logger logger = get_prod_logger() 1. Set a global monitoring link for all reported stages of a job:- You’re not using a training class but still want to link to external dashboards
- You want different stages to link to different monitoring dashboards
- You’re using a custom monitoring solution not covered by the built-in loggers
See Log job metrics to learn about configuring metric loggers and accessing monitoring dashboards.
Visualizing progress on the Adaptive UI
Once you have define your progress reporting strategy, uploaded and launched your recipe, the stages and progress will be displayed as below in the adaptive Engine:

