BmnRoot
Loading...
Searching...
No Matches
train Namespace Reference

Classes

class  AlignLayer
 

Functions

TensorDataset load_dataset (str path)
 
tuple[float, float, float] train_one (TensorDataset dataset, str det_id, int epochs, float lr, int batch, str out_dir, torch.device device)
 
 main ()
 

Variables

str DEFAULT_GLOB = "/home/igor/DATA/bmn/nn/data_det*.csv"
 
int DEFAULT_EPOCHS = 100
 
int DEFAULT_LR = 1e-3
 
int DEFAULT_BATCH = 256
 
str DEFAULT_OUT_DIR = "models"
 
 iX
 
 iY
 
 iZ
 
 iXA
 
 iXB
 
 iYA
 
 iYB
 
list INPUT_COLS = [iZ, iXA, iYA, iXB, iYB]
 
list OUTPUT_COLS = [iX, iY]
 

Detailed Description

    BM@N alignment routine
    BM@N experiment at NICA complex, JINR, 2025

    Department: Math & Soft Group of HEP lab
    Author:     Igor Polev, polev@jinr.ru

    MSE minimization of alignment problem using NN training techniques.
    For each alignable detector element we prepare a custom single-layer NN model
    and train it to get trained NN weights as a solution for alignment parameters.
    Custom layer consists of measuremets model for defined experiment setup.
    Datasets are prepared by expdataNN.C from original hits and tracks
    alignment data in form of separate CSV files for each detector element:

    inputs  (5): z, xA, xB, yA, yB   — columns [2..6]
    outputs (2): x, y                — columns [0..1]

    where xA, xB, yA, yB are coefficients of straight-line fit:
    
    x = xA + xB*z, y = yA + yB*z

    This fit is computed from non-aligned data using ordinary linear regression
    during data export procedure (see expdataNN.C).

Function Documentation

◆ load_dataset()

TensorDataset train.load_dataset ( str  path)

Definition at line 91 of file train.py.

Referenced by main().

◆ main()

train.main ( )

Definition at line 142 of file train.py.

References load_dataset(), main(), and train_one().

Referenced by main().

◆ train_one()

tuple[float, float, float] train.train_one ( TensorDataset  dataset,
str  det_id,
int  epochs,
float  lr,
int  batch,
str  out_dir,
torch.device  device 
)
Train and return (dx, dy, dz) weights.

Definition at line 98 of file train.py.

References max().

Referenced by main().

Variable Documentation

◆ DEFAULT_BATCH

int train.DEFAULT_BATCH = 256

Definition at line 56 of file train.py.

◆ DEFAULT_EPOCHS

int train.DEFAULT_EPOCHS = 100

Definition at line 54 of file train.py.

◆ DEFAULT_GLOB

str train.DEFAULT_GLOB = "/home/igor/DATA/bmn/nn/data_det*.csv"

Definition at line 53 of file train.py.

◆ DEFAULT_LR

int train.DEFAULT_LR = 1e-3

Definition at line 55 of file train.py.

◆ DEFAULT_OUT_DIR

str train.DEFAULT_OUT_DIR = "models"

Definition at line 57 of file train.py.

◆ INPUT_COLS

list train.INPUT_COLS = [iZ, iXA, iYA, iXB, iYB]

Definition at line 63 of file train.py.

◆ iX

train.iX

Definition at line 60 of file train.py.

◆ iXA

train.iXA

Definition at line 61 of file train.py.

◆ iXB

train.iXB

Definition at line 61 of file train.py.

◆ iY

train.iY

Definition at line 60 of file train.py.

◆ iYA

train.iYA

Definition at line 61 of file train.py.

◆ iYB

train.iYB

Definition at line 61 of file train.py.

◆ iZ

train.iZ

Definition at line 60 of file train.py.

◆ OUTPUT_COLS

list train.OUTPUT_COLS = [iX, iY]

Definition at line 64 of file train.py.