{
  "seed": 20261029,
  "epochs": 20000,
  "evaluation_epochs": [
    0,
    500,
    2000,
    4000,
    6000,
    10000,
    16000,
    20000
  ],
  "checkpoint_every": 100,
  "learning_rate": 0.0003,
  "minimum_learning_rate": 1e-05,
  "warmup_epochs": 50,
  "cosine_reference_epochs": 6000,
  "weight_decay": 0.0,
  "gradient_clip": 1.0,
  "precision": "FP32/TF32, no AMP",
  "input_channels": 3,
  "input_keep_indices": [
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    16,
    17,
    18,
    19,
    20,
    21,
    22,
    23,
    24,
    25,
    32,
    33,
    34,
    35,
    36,
    37,
    38,
    39,
    40,
    41,
    42,
    43,
    44,
    45,
    46,
    47,
    48,
    49,
    50,
    51,
    52,
    53,
    54,
    55
  ],
  "extra_geometry": false,
  "train_cases": 20,
  "native_nodes": 2000,
  "peak_quantile": 0.95,
  "peak_weight": 5.0,
  "best_criterion": "Report exact saved steps, no best checkpoint substitution",
  "id": "OFORMER_1M",
  "method": "oformer",
  "loss_kind": "local_VM_mse",
  "ts3": {
    "n_layers": 8,
    "n_hidden": 128,
    "n_head": 8,
    "slice_num": 4,
    "mlp_ratio": 2,
    "dropout": 0.0
  },
  "fno": {
    "input_channels": 50,
    "output_channels": 4,
    "resolution": 64,
    "width": 9,
    "modes": 7,
    "layers": 4,
    "latent_channels": 16,
    "head_width": 263,
    "checkpoint_blocks": true,
    "query_chunk_size": 32768,
    "splat_mode": "trilinear_mean"
  },
  "adapter_module": "geobc.operator_zoo_oformer_matched_v1",
  "architecture": {
    "width": 109,
    "heads": 1,
    "dim_head": 109,
    "encoder_layers": 4,
    "decoder_layers": 4,
    "attention": "official Galerkin with 3D concatenated positions",
    "adaptation": "3D native encoder/query decoder"
  },
  "model_context_nodes_per_case": 100,
  "untrained_initial": true,
  "warmstart": false,
  "network_lift_channels": 50,
  "input_kind": "absolute XYZ mm only, pooled TRAIN normalization then fixed zero-padding to50"
}