Skip to content

Modular Dashboard

EasyHybrid.jl features a modular, "Lego-like" training dashboard system. This allows for fine-grained control over which plots are rendered during training, how they are arranged, and which components are saved as animations.

Configuration Options

You can customize the visualization of your training loop using TrainConfig (or by passing these directly as keyword arguments to train()).

The three primary options are:

  • dashboard_components: Controls which plots are rendered. You can pass a subset of [:loss, :prediction, :timeseries, :monitor].

  • split_dashboard: A boolean controlling whether the dashboard components are drawn on a single window grid layout (false) or spawned as independent windows (true).

  • save_animations: Controls which dashboard windows to record as .mp4 video streams when save_training = true. For example, [:loss] or [:all].

Usage Examples

Example 1: Minimal Dashboard

If you are only interested in tracking the training loss and seeing the real-time predictions, you can isolate those components:

julia
train(model, df, ...;
    dashboard_components = [:loss, :prediction],
    split_dashboard = false # (Default) Renders side-by-side in one window
)

Alternatively, you can construct a TrainConfig object explicitly:

julia
train_cfg = TrainConfig(
    dashboard_components = [:loss, :prediction],
    split_dashboard = false
)

train(model, df, ...; train_cfg)

Example 2: Split Dashboard with Specific Animations

If you have a multi-monitor setup and prefer each graph to be in its own large detached window, you can enable split_dashboard. You can also choose to only record animations for specific plots (like the loss curve) to save rendering time and storage:

julia
train(model, df, ...;
    dashboard_components = [:loss, :prediction, :timeseries, :monitor],
    split_dashboard = true, # Each component spawns in its own standalone window
    save_training = true,
    save_animations = [:loss] # Only the loss figure is saved as an mp4
)

Example 3: Save All Split Animations

To create separate videos for every single plotted metric:

julia
train(model, df, ...;
    dashboard_components = [:loss, :prediction, :timeseries, :monitor],
    split_dashboard = true,
    save_training = true,
    save_animations = [:all] # Records multiple .mp4 files, one for each component
)

Default Behavior

If no new configuration fields are provided, EasyHybrid behaves with its original defaults: rendering all requested plot types into a single interactive window and recording a single .mp4 animation if save_training is enabled.