PhysResNet-LoopFree v2.3 (Universal)

Single-file self-contained CPU ONNX submission (model.onnx, 36.54 MiB <= 50 MiB, opset 17, CPUExecutionProvider, no external .data sidecars) for Proxima Fusion's CoilStellaration benchmark (bench_version=1.0, dataset revision f505cc890ff2f5cf24a6d68f4b5156d0a3fecb5c, arXiv:2611.12689). Supports all 17 (NFP, N_c) topologies (NFP in {2..5}, N_c in {4..8}) across fixed_shape and variable_shape.

Architecture Summary

  • Model Family: Universal loop-free physics ResNet + lightweight Dual-Init selector + If-gated unrolled analytic-Jacobian Gauss-Newton step (Loop = 0 in the exported ONNX graph).
  • Design: Stage-E multi-topology PhysResNet (2 differentiable CorrectorStages), followed by a 16x16x64 (pdist_cov=1.2) Dual-Init selector (x_net vs. x_tmpl) and an If-gated unrolled analytic-Jacobian Gauss-Newton stage (14x14x48 LM grid, cg_iters = 14, col_eps = 1e-2) that executes only when the warm-start fails the discrete gate.
  • Training & Tuning Discipline: Selected strictly on val_holdout_suite.pkl (N = 360 fixed + N = 450 variable boundaries sampled from split="train"). Zero split="eval" data touched training or hyperparameter selection.

Official split="eval" Results (bench_version=1.0, overall_score=0.5160)

Track / Stratum N Mean Score Median p10 Feas >= 0.9 Strict Feas
fixed_shape 2,771 0.5176 0.4149 0.0237 36.45% 33.31%
fixed_shape/loose 1,026 0.9458 1.0000 0.8086 86.65% 81.29%
fixed_shape/medium 861 0.4049 0.3187 0.0536 13.94% 10.22%
fixed_shape/tight 884 0.1303 0.0800 0.0049 0.11% 0.11%
variable_shape 8,058 0.5144 0.4328 0.0257 33.36% 29.32%
variable_shape/loose 2,697 0.9294 1.0000 0.7149 82.28% 74.94%
variable_shape/medium 2,660 0.4703 0.4126 0.0692 17.26% 12.78%
variable_shape/tight 2,701 0.1434 0.0871 0.0041 0.37% 0.07%

8-vCPU ONNX Runtime Latency (CPUExecutionProvider, intra_op=8, N = 200 / track)

Measured on an idle 8-vCPU allocation (separate from the 384-worker Slurm scoring array):

  • fixed_shape: mean = 125.9 ms, median = 123.5 ms, p90 = 166.7 ms, max = 249.3 ms
  • variable_shape: mean = 141.0 ms, median = 128.5 ms, p90 = 206.6 ms, max = 353.1 ms

Validation Holdout (split="train", N = 360 / 450)

Track N Mean Score p10 Feas >= 0.9 Strict Feas
fixed_shape 360 0.4808 0.0276 31.67% 28.33%
variable_shape 450 0.5263 0.0319 36.00% 31.33%

Quick Usage (onnxruntime)

import numpy as np
import onnxruntime as ort
from huggingface_hub import hf_hub_download

path = hf_hub_download("Oursdesvosges/coilstellaration-phys-resnet-loopfree-universal", "model.onnx")
sess = ort.InferenceSession(path, providers=["CPUExecutionProvider"])

r_cos = np.zeros((5, 9), dtype=np.float32)
z_sin = np.zeros((5, 9), dtype=np.float32)
r_cos[0, 4], r_cos[1, 4], z_sin[1, 4] = 1.0, 0.15, 0.15

coil_x_n, coil_y_n, coil_z_n, currents = sess.run(
    ["coil_x_n", "coil_y_n", "coil_z_n", "currents"],
    {
        "boundary_r_cos": r_cos,
        "boundary_z_sin": z_sin,
        "requirement_metrics": np.array([0.4, 0.8, 3.0, 0.05], dtype=np.float32),
        "n_field_periods": np.asarray(3, dtype=np.int64),
        "n_coils_per_half_period": np.asarray(5, dtype=np.int64),
    },
)
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train Oursdesvosges/coilstellaration-phys-resnet-loopfree-universal

Paper for Oursdesvosges/coilstellaration-phys-resnet-loopfree-universal