Saves model when validation loss decrease.
(self, val_loss, model, epoch=-1, save_multiple=False, update_best=True)
| 88 | self.counter = 0 |
| 89 | |
| 90 | def save_checkpoint(self, val_loss, model, epoch=-1, save_multiple=False, update_best=True): |
| 91 | '''Saves model when validation loss decrease.''' |
| 92 | if self.verbose: |
| 93 | tqdm.write(f'Validation loss decreased ({self.val_loss_min:.6f} --> {val_loss:.6f}). Saving model ...') |
| 94 | ckpt_save_path = self.ckpt_save_path |
| 95 | if save_multiple: |
| 96 | ckpt_save_path = ckpt_save_path[:-3]+f'-{epoch:04d}-{val_loss:.4f}.pt' |
| 97 | |
| 98 | torch.save(model.state_dict(), ckpt_save_path) |
| 99 | if update_best: |
| 100 | self.val_loss_min = val_loss |
| 101 | |
| 102 | def isBestModel(self): |
| 103 | ''' Check if current model the best one. |