liom_toolkit.segmentation.vseg.training module
- liom_toolkit.segmentation.vseg.training.create_images(x: Tensor, y: Tensor, pred: Tensor, num_images: int = 4) list[ndarray]
Create images for visualization
- Parameters:
x (torch.Tensor) – The input tensor
y (torch.Tensor) – The true labels
pred (torch.Tensor) – The predicted labels
num_images (int) – The number of images to create
- Returns:
The images
- Return type:
List[np.ndarray]
- liom_toolkit.segmentation.vseg.training.evaluate(model: ~liom_toolkit.segmentation.vseg.model.VsegModel, loader: ~torch.utils.data.dataloader.DataLoader, loss_fn: ~torch.nn.modules.module.Module, device: ~torch.device) -> (<class 'float'>, <class 'torch.Tensor'>, <class 'torch.Tensor'>, <class 'torch.Tensor'>, <class 'float'>, <class 'float'>, <class 'float'>, <class 'float'>)
Evaluate the model for an epoch
- Parameters:
model (VsegModel) – The model to evaluate
loader (torch.utils.data.DataLoader) – The data loader
loss_fn (torch.nn.Module) – The loss function
device (torch.device) – The device to use for evaluation
- Returns:
The loss, the true labels, the predicted labels, the input, and the metrics
- Return type:
(float, torch.Tensor, torch.Tensor, torch.Tensor, float, float, float, float)
- liom_toolkit.segmentation.vseg.training.mask_image(x, y_mask, pred_mask, i)
- liom_toolkit.segmentation.vseg.training.train(model: ~liom_toolkit.segmentation.vseg.model.VsegModel, loader: ~torch.utils.data.dataloader.DataLoader, optimizer: ~torch.optim.optimizer.Optimizer, loss_fn: ~torch.nn.modules.module.Module, device: ~torch.device) -> (<class 'float'>, <class 'torch.Tensor'>, <class 'torch.Tensor'>, <class 'torch.Tensor'>)
Train the model for an epoch
- Parameters:
model (VsegModel) – The model to train
loader (torch.utils.data.DataLoader) – The data loader
optimizer (torch.optim.Optimizer) – The optimizer
loss_fn (torch.nn.Module) – The loss function
device (torch.device) – The device to use for training
- Returns:
The loss, the true labels, the predicted labels, and the input
- Return type:
(float, torch.Tensor, torch.Tensor, torch.Tensor)
- liom_toolkit.segmentation.vseg.training.train_model(dataset_dir: str = 'data/patches', dev: str = 'cuda', output_train: str = 'data/training', learning_rate: float = 0.003673, batch_size: int = 35, epochs: int = 62) None
Train the vessel segmentation model
- Parameters:
dataset_dir (str) – The directory of the dataset
dev (str) – The device to use for training
output_train (str) – The output directory for the training
learning_rate (float) – The learning rate for the optimizer
batch_size (int) – The batch size for training
epochs (int) – The number of epochs to train
- Returns:
None