Validation element takes the parameters produced earlier in the pipeline, simulates the experiments listed in objectives, and compares those simulations to the measured data. It is how you check whether a fit generalises beyond the data it was fit on.
A minimal validation
summary_stats is omitted, sensible defaults are filled in so the report carries the same physical units as the measurements.
Validation.objectives is validated against the same discriminated type union as DataFit.objectives: unknown objective types, missing or conflicting discriminators, unknown inner keys, and bogus scalar values (e.g. {"bad": "RMSE"}) are rejected at submission time. See Strict objective validation for the full list of rules and examples.Retrieving validation output
element_results holds the per-objective summary statistics:
get_element_metadata:
"validate" above) is whatever key you used in the pipeline’s elements dict — a pipeline can run several validation elements under names like "validate_pristine" and "validate_aged".
Objectives without validation plots
A few objective types — most notablyiws.objectives.Pulse and other feature-extraction objectives — do not produce time-series validation plots, because the “measurement” the fit compares against is a derived feature (a pulse resistance, a fitted slope, …) rather than a continuous trace.
When a validation step runs against one of these objectives, the validation element’s result comes back as a flat dict carrying a validation_not_supported flag at the top level instead of plot data — the whole element, not a per-objective entry:
Validating after a fit
The common pattern is to run the fit and the validation in the same pipeline so they share parameters automatically:fit and runs the held-out experiments against them.
Inspecting validation plots in Ionworks Studio
Validation and data-fit results render as interactive plots in the Ionworks Studio web app. The plots support:- Zoom: Click and drag to zoom into a region
- Pan: Hold shift and drag to pan
- Reset: Double-click to reset the view
- Hover: Move cursor over data points to see values
This applies to both
Validation elements and the validation plots produced by DataFit elements. The trace data and per-plot layout are persisted separately from element_results; the SDK exposes the same payload via client.pipeline.get_element_metadata(submission_id, element_name).Pipelines overview
How validation chains with direct entries, calculations, and data fits.
Data Fitting overview
Producing the parameters that validation then checks.