ncalab.training.kfold

Classes

TrainValRecord

Helper class, storing a training / validation data split to generate

SplitDefinition

Stores a k-fold cross-validation split.

KFoldCrossValidationTrainer

Module Contents

class ncalab.training.kfold.TrainValRecord(train: List[str], val: List[str])

Helper class, storing a training / validation data split to generate respective DataLoader objects.

Parameters:
  • train (List[str]) – List of training image file paths

  • val (List[str]) – List of validation image file paths

train
val
dataloaders(DatasetType: Type, path: pathlib.Path | pathlib.PosixPath, transform=None, batch_sizes=None)

Generate a pair of training and validation DataLoader objects, based on a given DataSet subtype.

class ncalab.training.kfold.SplitDefinition

Stores a k-fold cross-validation split.

folds = []
dataloader_test = None
static read(path: pathlib.PosixPath) SplitDefinition

Reads json files with split definitions, similar to those created by nnUNet.

Format is like

[
    {
        "train": [ "filename0", "filename1",... ]
        "val": [ "filename2", "filename3",... ]
    },
    {
        ...
    }
]
Parameters:

path – Path to JSON file containing split definition.

Returns:

SplitDefinition object

Return type:

SplitDefinition

__len__() int
__getitem__(idx) TrainValRecord
class ncalab.training.kfold.KFoldCrossValidationTrainer(trainer: ncalab.training.trainer.BasicNCATrainer, split: SplitDefinition)
Parameters:
  • [BasicNCATrainer] (trainer) – BasicNCATrainer, to train each individual fold.

  • [SplitDefinition] (split) – Definition of the split used for k-fold cross-training.

trainer
model_prototype
model_name
split
train(DatasetType: Type, datapath: pathlib.Path | pathlib.PosixPath, transform, batch_sizes: None | Dict = None, save_every: int | None = None) List[ncalab.training.traininghistory.TrainingHistory]

Run training loop with a single function call.

Parameters:
  • [Type] (DatasetType) – Type of dataset class to use.

  • [Path] (datapath) – _description_

  • transform – Data transform, e.g. initialized via Albumentations.

  • batch_sizes – Dict of batch sizes per set, e.g. {“train”: 8, “val”: 16}. Defaults to None.

  • [int] (save_every) – _description_. Defaults to None.

  • plot_function – Plot function override. If None, use model’s default. Defaults to None.

Returns [List[TrainingHistory]]:

List of TrainingHistory objects, one per fold.