Skip to content
鄭又銓 edited this page Aug 13, 2025 · 9 revisions

3D CNN

Environment Variables Table

1. Training & Model Behavior

Variable Name Description Suggested Default
SHOULD_TRAIN Boolean to control whether the training process should be performed. True
LOAD_FROM_CHECKPOINTS Boolean to load model weights from a saved checkpoint. False
CHECKPOINTS_PATH Path to the checkpoint file to load model weights from. None

2. Dataset Settings

Variable Name Description Suggested Default
PATH_TO_DATA Path to the folder containing the dataset. /Cubes32
CLASSES_NAME Name of the label class in dataset. voxel
TEST_HAS_LABELS Whether the test data contains labels. Useful for evaluating or inference-only setup. False
BATCH_SIZE Batch size for the dataloader. 2
NUM_WORKERS Number of CPU workers for the dataloader. 2

3. Model & Group Settings

Variable Name Description Suggested Default
IN_CHANNELS Number of input channels for the model (e.g., 1 for grayscale images). 1
OUT_CHANNELS Output channels of model. For autoencoders it's usually 1, but could vary (e.g., for MLP or NdLinear head). 1
NONLIN Non-linearity activation function. Options: relu, leaky-relu, or elu. leaky-relu
NORMALIZATION Type of normalization layer, e.g., bn (Batch Norm) or in (Instance Norm). bn
MODEL_DEPTH Depth of the U-Net model. 3
DIVIDER Channel divisor used to scale down encoder/decoder width. 4
DROPOUT Dropout rate. 0.0

4. Logs & Saving

Variable Name Description Suggested Default
LOGS_DIR Path to the directory where TensorBoard logs will be saved. /TensorBoard
LOG_NAME Name prefix for this specific run in TensorBoard and results. Test

5. Loss Function & Optimizer

Variable Name Description Suggested Default
LEARNING_RATE The learning rate for the optimizer. 0.0001

6. Trainer Settings

Variable Name Description Suggested Default
MAX_EPOCHS Maximum number of epochs to train for. 10
GPUS Number or identifier of the GPU(s) to use. 1
PRECISION GPU precision to use. Options: 16, 32, 64. 16

7. Data Normalization

Variable Name Description Suggested Default
INTENSITY_MEAN Global mean intensity value of all training data, used for normalization. 38.90965
INTENSITY_STD Global standard deviation of intensity, used for normalization. 45.17005


CubeNet

Environment Variables Table

1. Training & Model Behavior

Variable Name Description Suggested Default
SHOULD_TRAIN Boolean to control whether the training process should be performed. True
LOAD_FROM_CHECKPOINTS Boolean to load model weights from a saved checkpoint. False
CHECKPOINTS_PATH Path to the checkpoint file to load model weights from. None

2. Dataset Settings

Variable Name Description Suggested Default
PATH_TO_DATA Path to the folder containing the dataset. ./data
BATCH_SIZE Batch size for the dataloader. 16
NUM_WORKERS Number of CPU workers for the dataloader. 4
NUM_CELLS Number of cells in a worm. Only needed for LAP; max possible is 558. 20
SEED Random seed for train/validation splits to ensure reproducibility. 42

3. Model & Group Settings

Variable Name Description Suggested Default
GROUP Name of the group for Group Equivariant CNNs (G-CNNs), e.g., S4 or T4. Remove if using standard CNN. None
GROUP_DIM Dimension of the group for G-CNNs. 24 for S4, 12 for T4. None
IN_CHANNELS Number of input channels (e.g., 1 for grayscale images). 1
OUT_CHANNELS Number of output channels. Equal to classes for classifiers; 1 for Autoencoder; None for LAP. None
NONLIN Non-linearity activation function: relu, leaky-relu, or elu. leaky-relu
NORMALIZATION Normalization layer type: bn (Batch Norm) or in (Instance Norm). bn
DIVIDER Integer divisor to reduce channels in each layer; controls model size. 4
MODEL_DEPTH Depth of the U-Net model. 4
DROPOUT Dropout rate. 0.1

4. Logs & Saving

Variable Name Description Suggested Default
LOGS_DIR Directory path for saving Tensorboard logs. ./logs
LOG_NAME Name prefix for this run in Tensorboard and results folders. default_run

5. Loss Function & Optimizer

Variable Name Description Suggested Default
LEARNING_RATE Learning rate for the optimizer. 0.001
LR_PATIENCE Patience for LR scheduler before reducing LR (ReduceLROnPlateau). 5
LR_FACTOR Factor to multiply LR when reducing (new_lr = lr * factor). 0.1
LR_MIN Minimum allowable learning rate. 1e-6
DISTANCE_TYPE Loss function distance metric: MSE (L2 Loss) or L1. MSE
LAMBDA Parameter from paper Differentiation of Blackbox Combinatorial Solvers. 15

6. Trainer Settings

Variable Name Description Suggested Default
EARLY_STOPPING Enable/disable Early Stopping callback. True
EARLY_STOPPING_PATIENCE Patience for Early Stopping (epochs without improvement). 10
GPUS Number or identifier of GPUs to use. 1
PRECISION GPU precision: 16 (or 16-mixed), 32, 64. 32
MAX_EPOCHS Maximum number of epochs to train. 50
VAL_CHECK_INTERVAL Frequency of validation checks (1.0 = once per epoch). 1.0
LOG_EVERY_N_STEPS Log metrics every N steps. 50
PROGRESS_BAR_REFRESH_RATE Progress bar refresh rate. 20

7. Data Normalization

Variable Name Description Suggested Default
INTENSITY_MEAN Global mean intensity for normalization (must be computed from dataset). None
INTENSITY_STD Global standard deviation for normalization (must be computed from dataset). None


Graph Neural Network

Environment Variables Table

1. Dataset Settings

Variable Name Description Suggested Default
PATH_TO_DATA Path to the folder containing the dataset. ./data
GRAPH_DATA_FOLDER Path to the folder that contains the graph data. ./Graph_Data/DoubleConv/Graph_data_MLP512_16_3Layers_L1_R45
BATCH_SIZE Batch size for the dataloader. 4
NUM_WORKERS Number of CPU workers for the dataloader. 2

2. Model & Group Settings

Variable Name Description Suggested Default
NODE_FEATURE_DIM Input dimension of the node feature vector. 8 for only Geo features, 520 for full features. 520
GNN_HIDDEN_DIM Hidden layer dimension in GNN. 256
GNN_OUTPUT_DIM Output dimension of GNN encoder. 128
GAT_HEADS Number of attention heads for GAT (Graph Attention Network). 8
DROPOUT Dropout rate. 0.0

3. Logs & Saving

Variable Name Description Suggested Default
LOG_NAME Name prefix for this specific run in Tensorboard and results folders. MLP512_16_3Layers_L1_R45_200EpochES_Lambda200.00_LR0.0005

4. Loss Function & Optimizer

Variable Name Description Suggested Default
LEARNING_RATE The learning rate for the optimizer. 0.0005
DISTANCE_TYPE The distance metric used for the loss function. MSE
LAMBDA Fixed lambda value. Used when lambda scheduler is disabled. 200.0

5. Trainer Settings

Variable Name Description Suggested Default
MAX_EPOCHS Maximum number of epochs to train for. 1000
LOG_EVERY_N_STEPS How often to log metrics every N steps. 50
PROGRESS_BAR_REFRESH_RATE Refresh rate for the progress bar. 50

6. Lambda Scheduling (Conditional)

Variable Name Description Suggested Default
USE_LAMBDA_SCHEDULER Whether to use dynamic lambda scheduling (annealing). False
LAMBDA_START Starting value of lambda if using annealing. 50.0
LAMBDA_END Ending value of lambda if using annealing. 200.0
LAMBDA_WARMUP_EPOCHS Number of epochs to warm-up the lambda value during annealing. 10