HomeDocs-Technical WhitePaper44-EFT.WP.Data.ModelCards v1.0

Chapter 17 Examples & Best Practices


I. Chapter Purpose & Scope

Model Cards covering Tasks & I/O, Architecture & Parameters, Training Data & Sampling Binding, Preprocessing & Feature Engineering, Objectives/Optimization/Hyperparameters, Evaluation Protocol & Metrics, Calibration & Uncertainty, Robustness/Fairness/Ethics & Usage Limits, plus Schema & Lint and API implementation; include common failure → fix patterns and a pre-release self-checklist.full to minimalProvide end-to-end examples from

II. Minimal Working Model Card (release-grade; validates under Schema & Lint)

model_id: "eift.vision.cls.resnet50"

title: "ResNet50 Classifier"

version: "v1.0"

task: "classification"

io_schema:

inputs: [{name:"image", shape:"(H,W,3)", dtype:"uint8", range:"[0,255]", semantics:"rgb"}]

outputs: [{name:"probs", shape:"(K,)", dtype:"float32", range:"[0,1]", semantics:"softmax"}]

batching: {mode:"dynamic", max_batch:128}

streaming: {enabled:false}

architecture:

version: "v1.0"

backbone: "resnet50"

topology:

- {name:"stem", type:"conv", params:{out:64, k:7, s:2, norm:"bn", act:"relu"}}

- {name:"stage1",type:"resblk", repeat:3, params:{out:256, bottleneck:true}}

- {name:"stage2",type:"resblk", repeat:4, params:{out:512}}

- {name:"head", type:"linear", params:{out_dim:1000}}

training_data:

refs:

- "EFT.WP.Data.DatasetCards v1.0:Ch.11"

splits_ref: "eift.obs.demo@v1.0"

contamination_policy: "forbid-cross-split"

leakage_guards: ["per-object"]

preprocess:

pipeline_id: "img-prep-v1"

steps:

- {name:"standardize", enabled:true, idempotent:true,

params:{type:"zscore", mean:[0.485,0.456,0.406], std:[0.229,0.224,0.225], stats_from:"train-only"},

inputs:["image"], outputs:["image_std"]}

feature_space: {type:"dense", shape:"(H',W',C')", dtype:"float32", normalization:"zscore"}

parameter_lock: true

optimization:

objective: {name:"cross_entropy", reduction:"mean"}

optimizer: {name:"adamw", lr:3.0e-4, betas:[0.9,0.999], eps:1.0e-8, weight_decay:0.05}

scheduler: {name:"cosine", warmup:{steps:500, mode:"linear"}}

hyperparams: {batch_size:256, epochs:200}

evaluation:

protocol:

splits: "frozen"

seeds: [0,1,2,3,4]

repeats: 5

ci: {method:"bootstrap-bca", level:0.95, samples:1000}

significance: {test:"permutation", alpha:0.05}

metrics:

classification: ["f1_macro","roc_auc","ece","brier"]

calibration:

method: "temperature"

params: {t: 1.7}

robustness:

thresholds: {drop_rel_max: 0.10}

fairness:

axes: ["class","region"]

gap_metric: "abs_diff"

threshold: 0.05

safety:

allowed_use: ["academic","benchmark"]

prohibited_use: ["surveillance"]

deployment:

forms: ["rest"]

devices: ["A100"]

latency_targets_ms: {p50: 5}

resources:

M_param: 25.6

FLOPs: 4.1e9

T_inf: 3.8

metrology: {units:"SI", check_dim:true}

export_manifest:

version: "v1.0"

artifacts:

- {path:"model_card.yaml", sha256:"..."}

- {path:"eval/summary.csv", sha256:"..."}

references:

- "EFT.WP.Core.DataSpec v1.0:EXPORT"

- "EFT.WP.Core.Metrology v1.0:check_dim"


III. Full Example with Path Quantities (T_arr) — Multimodal + Robustness/Fairness

model_id: "eift.radio.audio.asr_toa"

title: "ASR + TOA Estimator"

version: "v1.2"

task: ["asr","forecasting"]

io_schema:

modes:

asr:

inputs: [{name:"waveform", shape:"(T,)", dtype:"float32", range:"[-1,1]", semantics:"pcm"}]

outputs: [{name:"text", shape:"()", dtype:"string", range:"N/A", semantics:"utf-8"}]

forecasting:

inputs:

- {name:"series", shape:"(T,C)", dtype:"float32", semantics:"zscore"}

- {name:"time_index", shape:"(T,)", dtype:"int64", semantics:"unix_ms"}

outputs:

- {name:"y_hat", shape:"(H,C)", dtype:"float32", semantics:"forecast"}

- {name:"q_hat", shape:"(H,C,Q)", dtype:"float32", semantics:"quantiles"}

architecture:

version: "v1.0"

backbone: "conformer-xs"

topology:

- {name:"enc", type:"conformer", repeat:12, params:{dim:256, heads:4, ff_mult:4, act:"silu", norm:"ln"}}

- {name:"toa_head", type:"mlp", params:{hidden:512, out_dim:1}}

params_report: {M_param: 32.4, FLOPs: 9.6e9, T_inf: 12.1}

training_data:

refs:

- "EFT.WP.Data.DatasetCards v1.0:Ch.6"

- "EFT.WP.Data.DatasetCards v1.0:Ch.11"

- "EFT.WP.Data.DatasetCards v1.0:Ch.12"

splits_ref: "eift.radio.toa-set@v1.2"

sampling_binding:

strategy: "stratified"

strata: [{by:"snr_bin", buckets:{"7-10":300,"10-20":500,"20+":700}}]

contamination_policy: "forbid-cross-split"

leakage_guards: ["per-timewindow"]

preprocess:

pipeline_id: "toa-prep-v2"

steps:

- {name:"rfi_clean", enabled:true, idempotent:true, params:{method:"spectral-kurtosis", window:256, thr_sigma:5}}

- {name:"stft", enabled:true, idempotent:true, params:{win:512, hop:160, window:"hann"}}

feature_space: {type:"audio_spec", shape:"(F,T)", dtype:"float32", normalization:"zscore"}

parameter_lock: true

path_dependence:

applies_to: ["T_arr"]

delta_form: "const-factor"

path: "gamma(ell)"

measure: "d ell"

see: ["EFT.WP.Core.Equations v1.1:S20-1","EFT.WP.Core.Metrology v1.0:check_dim"]

optimization:

objective:

name: "mse"

reduction: "mean"

formula: "L(θ) = ( E_{(x,y)∼D} [ ( y - f_θ(x) )^2 ] )"

optimizer: {name:"adamw", lr:2.0e-4, betas:[0.9,0.999], weight_decay:0.01}

scheduler: {name:"cosine", warmup:{steps:2000, mode:"linear"}}

hyperparams: {batch_size:64, epochs:120}

evaluation:

protocol:

splits: "frozen"

seeds: [0,1,2,3,4]

repeats: 5

significance: {test:"bootstrap", alpha:0.05}

ci: {method:"bootstrap-bca", level:0.95, samples:2000}

metrics:

timeseries: ["rmse","mae","qloss@{0.1,0.5,0.9}"]

classification: ["ece","brier"]

calibration:

method: "temperature"

params: {t:1.6}

eval: {report:["ece","brier","calibration_curve"], ece_bins:15}

uncertainty:

model: "linear"

components:

- {name:"thermal", type:"random", value:2.1, unit:"K", distribution:"normal", coverage:{k:1.0}}

- {name:"iono", type:"systematic", value:0.7e-9, unit:"s", distribution:"normal", coverage:{k:2.0}, corr_group:"path"}

correlation: {posture:"groups", groups:[{name:"path", pairwise:"rho:0.5"}]}

propagation: {rule:"linear", linearization:"first-order"}

coverage_policy: {target_p:0.95, k:2.0}

robustness:

shift_tests:

- {name:"snr_drop", severity:[3,6,9], policy:"additive-noise"}

- {name:"spec_notch",bands:[["0.3","0.5"],["0.6","0.7"]], unit:"fraction"}

thresholds: {drop_rel_max:0.10}

fairness:

axes: ["region","device"]

gap_metric: "abs_diff"

threshold: 0.05

deployment:

forms: ["grpc"]

devices: ["A100","CPU-AVX2"]

latency_targets_ms: {p50: 20, p99: 80}

concurrency: 256

resources: {M_param:32.4, FLOPs:9.6e9, T_inf:12.1}

metrology: {units:"SI", check_dim:true}

export_manifest:

version: "v1.2"

artifacts:

- {path:"model_card.yaml", sha256:"..."}

- {path:"eval/summary.csv", sha256:"..."}

- {path:"robustness/acc_vs_snr.csv", sha256:"..."}

references:

- "EFT.WP.Core.DataSpec v1.0:EXPORT"

- "EFT.WP.Core.Metrology v1.0:check_dim"

- "EFT.WP.Core.Equations v1.1:S20-1"


IV. Common Failures → Fixes (mapped to Lint/Schema)


V. Best-Practice Checklist (release-critical)


VI. Validation API Linkage (examples)

curl -s -X POST https://api.eift.org/api/v1/validate_model_card \

-H "Authorization: Bearer <token>" \

-H "Content-Type: application/json" \

-H "x-eift-idempotency: a0d7b6c4-9478-4e4a-9f13-8c1b9f77f111" \

-d @model_card.json

curl -s -X POST https://api.eift.org/api/v1/check_units \

-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \

-d @model_card.json

curl -s -X POST https://api.eift.org/api/v1/robustness_eval -d @model_card.json

curl -s -X POST https://api.eift.org/api/v1/fairness_eval -d @model_card.json


VII. Chapter Compliance Checklist


Copyright & License (CC BY 4.0)

Copyright: Unless otherwise noted, the copyright of “Energy Filament Theory” (text, charts, illustrations, symbols, and formulas) belongs to the author “Guanglin Tu”.
License: This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0). You may copy, redistribute, excerpt, adapt, and share for commercial or non‑commercial purposes with proper attribution.
Suggested attribution: Author: “Guanglin Tu”; Work: “Energy Filament Theory”; Source: energyfilament.org; License: CC BY 4.0.

First published: 2025-11-11|Current version:v5.1
License link:https://creativecommons.org/licenses/by/4.0/