Files
GridBased/Configs/train_grid_12keV.yaml
xie_x1andClaude Opus 5.5 0f9a3f496f Initial commit: grid-based multi-photon reconstruction
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>
2026-10-20 07:36:49 +02:00

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