# GridBased training -- polychromatic 5-30 keV, MOENCH014 @150 V # # Same architecture and the same losses as the 12 keV configuration; what # changes is that the energy head now carries information, so it gets a real # weight and a scale that is not tied to a beam energy. experiment: name: "poly5to30keV_Moench014" results_dir: "Results" data: folder: /mnt/sls_det_storage/moench_data/MLXID/Samples/GridBased/poly5to30keV_Moench014_150V train_shards: [0, 11] val_shards: [0, 1] max_train_frames: null max_val_frames: 8000 input_scale: 15.0 # keV, mid-range; frames are divided by this energy_scale: 15.0 # keV, the energy target is E / energy_scale augment: true batch_size_train: 256 batch_size_val: 512 num_workers: 8 model: channels: [32, 64, 128, 128] # still 4 x conv3x3, so R = 4 px; wider, because # the cloud size now has to be disentangled from # the energy rather than mapping straight to depth predict_energy: true norm: "none" prior_prob: 0.01 loss: w_obj: 1.0 w_off: 1.0 w_ene: 1.0 # 0.1 at a single energy, where the head learned a # constant; here it carries the spectrum focal_alpha: 0.25 focal_gamma: 2.0 smooth_l1_beta_offset: 0.01 smooth_l1_beta_energy: 0.03 # ~ the 0.39 keV noise floor of a 3x3 sum, / 15 keV training: epochs: 300 lr: 1.0e-3 weight_decay: 0.0 scheduler_factor: 0.5 scheduler_patience: 6 amp: true seed: 0 checkpoint_epochs: [50, 100, 150, 200, 250, 300] eval: threshold: 0.3 merge_distance: 0.1 match_radius: 1.0 pixel_size_um: 25.0