peach.pl.training_metrics

peach.pl.training_metrics#

peach.pl.training_metrics(history, *, height=400, width=800, display=True, **kwargs)[source]#

Visualize training metrics over epochs.

Creates interactive Plotly visualization with loss components, stability metrics, and convergence analysis.

Parameters:
  • history (dict) – Training history dictionary from pc.tl.train_archetypal(). Expected keys: ‘loss’, ‘archetypal_loss’, ‘KLD’, ‘rmse’, ‘vertex_stability_latent’, ‘vertex_stability_pca’, ‘loss_delta’.

  • height (int, default: 400) – Base plot height in pixels (actual height is 2x for 3 rows).

  • width (int, default: 800) – Plot width in pixels.

  • display (bool, default: True) – Whether to display the plot immediately via fig.show().

  • **kwargs – Additional arguments passed to plot_training_metrics.

Returns:

Interactive training metrics plot with 3-row layout: - Row 1 (40%): Loss metrics (loss, archetypal_loss, KLD, rmse) - Row 2 (30%): Stability metrics (vertex_stability_latent/pca) - Row 3 (30%): Convergence (loss_delta with rolling mean)

Returns None only if history is empty.

Return type:

plotly.graph_objects.Figure or None

Examples

>>> results = pc.tl.train_archetypal(adata, n_archetypes=5)
>>> fig = pc.pl.training_metrics(results["history"], display=False)
>>> fig.write_html("training.html")