Step by Step UNet implementation
- (done) Data Augmentation (user can choose default, light, moderate, heavy or custom augmentation)
- in augmentations, always same changes for each image? How to change that?
- call Augmentation class inside the dataloader instead?
- DataLoader: How to handle non-square images? How to handle dataset with different image sizes? How to handle image sizes that are not powers of 2?
- (done) Model (user can either choose small, medium or large model
- Add a model depending on size of the images (?)
- Error message when wrong kernel sizes, padding, etc: make our own error message or use monai? combination of both
- Choose specific weight initialization?
- (done) Hyperparameters (user chooses which optimizer, learning rate, n_epochs, loss_fct etc.)
- Metrics (used defines the metrics wished for: loss, accuracy, f1 score, specificity, recall, precision etc.)
- (done) Training loop (training the model, each loop saving metrics in dictionary. Save best model weights (and?) final model weights)
- Test function (evaluate the model, returning metrics)
- (partly done) Visualization tools (epoch/accuracy plot, confusion matrix, etc.)
(- Other steps?)
Edited by s184364