Progress UNet July Oskar
What I did:
1st push: "UNet class implementation, TODO" Check if: Augmentation -> image resize shape is power of 2? Data -> original images different sizes? square? power of 2?
function: model_summary-> summary (model size, depth, etc)
class: qim_UNet -> choose between small, medium, large dataset
2nd push: "working on hyperparameter class" class: qim_hyperparameters -> insert model,epochs,lr,optimizer, momentum, weight decay, loss returns a 'hyper_dict' with {optimizer,criterion,n_epochs}
3rd push: "hyperparameter class implementation + TODO models" TODO: qim3d/utils/models.py 'preds > 0.5' -> outputs of model not in [0,1], need to use sigmoid beforehand
class: qim_hyperparameters: ordering for better understanding (_optimizer and _loss_functions)
4th push: "implementing training function" function: train_model -> takes model, qim_hyperparameters, trainloader,valoader. performs training loop. returns 2 dict: train_loss and val_loss each dict has: loss per epoch, and loss per batch.
minor changes to: class: qim_hyperparameters
5th push: "loss visualization function,creation condensed notebook" created new jupyter_notebook with condensed version
function: visualizations.py -> plt_metrics function: plots output of train_model
6th push: "Solution tqdm training + update both notebooks" added tqdm loop to train_model function (/!\ see issue)
7th push: "minor changes ValueError, log.warnings" Changed some ValueError messages from previous functions made: changed to: "invalid ___: {input}, please use: {suggestions}"
8th push: "removed batch" removed small test made in previous push, which wasn't removed.