ML LEARN ERSATZ — TRAIN M1..M4 SURROGATES

Trains the four ERSATZ surrogate models (m1: YSS→USS, m2: YSS+USS→PRENE, m3: USS→FSS, m4: USS+FSS→PSTNE) over a material statistics dataset, dispatching each model via an internal ml_learn_auto call with optional parallelism. When the Stats Dataset is not provided, it is auto-computed from the supplied engineering stress-strain curves via curve_engstress_stats (one row per curve). Outputs trained model file paths keyed by model ID (m1–m4) plus all ml_learn_auto diagnostic outputs prefixed by model ID.

When to use

Tagged: batch, ersatz, materials, ml_learn_auto, multi-target, parallel, per_target_best, regression.

Inputs

Label ID Type Default Required Description
Eng Stress-Strain Curves eng_curves vector Collection of engineering stress-strain curves (one per material, vector of curve objects); used as the sole data source when stats_dataset is empty — the worker calls curve_engstress_stats on each curve to build the stats table.
Stats Dataset stats_dataset dataset   Optional pre-built statistics dataset (one row per material) containing yield, ultimate, failure, energy, and shape columns; when supplied it bypasses curve-based auto-computation and is used directly for all four sub-model training runs.
Material Name Column name_col text name   Name of the dataset column carrying the per-material/curve identifier (default: ‘name’); when stats are auto-computed this column is populated from each curve’s getName() result.
Eng Yield Strain Column yld_strain_col text yield_strain   Dataset column name for engineering yield strain (default: ‘yield_strain’); serves as a feature in models m1 and m2.
Eng Yield Stress Column yld_stress_col text yield_stress   Dataset column name for engineering yield stress (default: ‘yield_stress’); serves as a feature in models m1 and m2.
Eng Ultimate Strain Column ult_strain_col text eng_ultimate_strain   Dataset column name for engineering ultimate strain (default: ‘eng_ultimate_strain’); target in m1, feature in m2/m3/m4.
Eng Ultimate Stress Column ult_stress_col text ultimate_stress   Dataset column name for engineering ultimate stress (default: ‘ultimate_stress’); target in m1, feature in m2/m3/m4.
Eng Failure Strain Column fail_strain_col text failure_strain   Dataset column name for engineering failure strain (default: ‘failure_strain’); target in m3, feature in m4.
Eng Failure Stress Column fail_stress_col text failure_stress   Dataset column name for engineering failure stress (default: ‘failure_stress’); target in m3, feature in m4.
Post-Necking Shape Column post_shape_col text post_shape   Dataset column name for the post-necking shape parameter (default: ‘post_shape’); available for inclusion in extended feature sets if configured.
Post-Necking Power Column post_power_col text post_power   Dataset column name for the post-necking power parameter (default: ‘post_power’); available for inclusion in extended feature sets if configured.
Damage at Failure Column damage_max_col text damage_max   Dataset column name for the maximum damage-at-failure scalar (default: ‘damage_max’); available as a supplementary feature or target column.
Plateau Fraction Column plateau_frac_col text plateau_fraction   Dataset column name for the plateau fraction (default: ‘plateau_fraction’); characterises the flat region of the stress-strain curve for inclusion as a feature.
Pre-Ultimate Shape Column pre_ult_shape_col text pre_ult_shape   Dataset column name for the pre-ultimate shape exponent (default: ‘pre_ult_shape’); describes the curvature of the hardening region before the ultimate point.
Pre-Ultimate Power Column pre_ult_power_col text pre_ult_power   Dataset column name for the pre-ultimate power exponent (default: ‘pre_ult_power’); complements pre_ult_shape for characterising the pre-necking hardening law.
Voce K Column voce_k_col text voce_k   Dataset column name for the Voce saturation parameter K (default: ‘voce_k’); used when a Voce-type hardening law is fitted to the curve.
Pre-Necking Energy Column (PRENE) energy_yu_col text energy_yield_to_ultimate   Dataset column name for the pre-necking (yield-to-ultimate) specific energy (default: ‘energy_yield_to_ultimate’); sole target of model m2 (PRENE).
Post-Necking Energy Column (PSTNE) energy_uf_col text energy_ultimate_to_failure   Dataset column name for the post-necking (ultimate-to-failure) specific energy (default: ‘energy_ultimate_to_failure’); sole target of model m4 (PSTNE).
Learning Quality learning_quality select basic   Training quality preset — ‘basic’ uses a reduced regressor set with no cross-validation, ‘best’ enables the full regressor sweep with 5-fold k-fold CV and prognosis mode (default: ‘basic’).
Parallel Model Training parallel select no   Set to ‘yes’ to train the four sub-models concurrently via pcntl_fork (requires PHP CLI SAPI with ext-pcntl); falls back silently to sequential if forking is unavailable (default: ‘no’).
Per-Target Best Model per_target_best select no   When ‘yes’, trains a separate best-fit model per target column within each stage and emits comma-joined .pkl paths; when ‘no’ (default) a single multi-output sklearn model covers all targets in one .pkl file.
Save Trained Models to Math Model Library save_to_mathmodel select no   When yes, after training each m1..m4 the worker calls the mathmodel_save worker with that stage’s mfile.pkl. The resulting saved mathmodel ids are emitted as the ‘saved_mathmodels’ keyvalue output (entries m1..m4 with the saved ids), which can be wired into ml_predict_ersatz’s Saved Math Models input as an alternative to the temp-path ‘models’ keyvalue. For per_target_best=yes stages the comma-joined .pkl list is saved as a single per-target-best CSV mathmodel — ml_predict transparently handles either shape on the predict side.
Math Model Name Prefix mathmodel_name_prefix text   Used only when Save Trained Models = Yes. Each saved model is named ‘<prefix>_m1’, ‘<prefix>_m2’, etc. When empty, an auto-generated prefix ‘ersatz_<uniqid>’ is used so back-to-back runs do not collide on the unique-name constraint enforced by mathmodel_save.
Math Model Tags (comma-separated) mathmodel_tags text ersatz   Tags applied to every saved mathmodel. Helpful for finding the four sub-models later under a single label.

Outputs

Label ID Type Description
Trained Models (mfile.pkl paths) models keyvalue Key-value map of trained surrogate model file paths keyed by model ID (m1, m2, m3, m4); values are absolute .pkl paths consumed by ml_predict_ersatz.
Stats Dataset stats_dataset dataset The material statistics dataset actually used for training (one row per material with all feature/target columns); echoed back for inspection or caching, whether supplied by the user or auto-computed from eng_curves.
Parallel Mode Actually Used parallel_actual text Text flag indicating the parallelism mode that was actually applied at runtime (‘parallel’ or ‘sequential’), reflecting any automatic fallback from the requested parallel mode.
Saved Math Model IDs (when Save Trained Models = Yes) saved_mathmodels keyvalue Key-value map of platform MathModel record IDs (keyed by m1–m4) created when ‘Save Trained Models’ is enabled; empty when saving is disabled.
Raw vs Predictions raw_vs_predictions dataset Verification dataset built by chain-predicting the just-trained m1..m4 models back over stats_dataset. For every anchor column the dataset carries the raw, predicted, and (raw − pred) values per row. Each row also includes a predicted_eng_stress_strain column with the engineering stress-strain curve reconstructed from the predicted anchors via curves_ersatz_eng — drop the row’s curve cell on a slide alongside the original input curve to spot any per-material divergence.

Disciplines

  • ai_ml.prognosis
  • ai_ml.supervised.regression
  • ai_ml.surrogate
  • engineering.material.calibration
  • engineering.material.characterization

Auto-generated from platform schema. Worker id: ml_learn_ersatz. Schema hash: 0884c780ba0f. Hand-curated docs in workerexamples/ override this page when present.