Code, configs, charge LUTs, best.pth and evaluation records for each training run, the knife-edge / Siemens-star / XRF notebooks with outputs, and the overnight run reports. Epoch checkpoints, inference results and HTML exports stay local (see .gitignore). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
# GridBased training -- 12 keV, MOENCH040 @150 V (WP3, monochromatic gate G2)
|
|
|
|
experiment:
|
|
name: "12keV_Moench040"
|
|
results_dir: "Results"
|
|
|
|
data:
|
|
folder: /mnt/sls_det_storage/moench_data/MLXID/Samples/GridBased/12keV_Moench040_150V
|
|
train_shards: [0, 11] # inclusive
|
|
val_shards: [0, 1]
|
|
max_train_frames: null # null = all
|
|
max_val_frames: 8000
|
|
input_scale: 12.0 # keV; frames are divided by this
|
|
energy_scale: 12.0 # keV; energy target is E / energy_scale
|
|
augment: true # 8-fold D4, a true symmetry of the problem
|
|
batch_size_train: 256
|
|
batch_size_val: 512
|
|
num_workers: 8
|
|
|
|
model:
|
|
channels: [32, 64, 64, 64] # 4 x conv3x3 -> receptive-field radius R = 4 px
|
|
predict_energy: true
|
|
norm: "none" # see models.py: 'group' breaks strict locality
|
|
prior_prob: 0.01 # focal-loss bias init
|
|
|
|
loss:
|
|
w_obj: 1.0
|
|
w_off: 1.0
|
|
w_ene: 0.1
|
|
focal_alpha: 0.25
|
|
focal_gamma: 2.0
|
|
smooth_l1_beta_offset: 0.01 # px = 0.25 um, as for the cluster-based models
|
|
smooth_l1_beta_energy: 0.02
|
|
|
|
training:
|
|
epochs: 150
|
|
lr: 1.0e-3
|
|
weight_decay: 0.0
|
|
scheduler_factor: 0.5
|
|
scheduler_patience: 4
|
|
amp: true
|
|
seed: 0
|
|
checkpoint_epochs: [25, 50, 75, 100, 125, 150]
|
|
|
|
eval:
|
|
threshold: 0.3 # from the ROC of run 260830_00: eff plateaus below 0.3
|
|
merge_distance: 0.1 # px; position-space duplicate suppression
|
|
match_radius: 1.0 # px; 25 um
|
|
pixel_size_um: 25.0
|