callbacks.run('on_fit_epoch_end', list(mloss) + list(results) + lr, epoch, best_fitness, fi) | callbacks.run('on_fit_epoch_end', list(mloss) + list(results) + lr, epoch, best_fitness, fi) | ||||
callbacks.run('on_train_end', last, best, plots, epoch, results) | callbacks.run('on_train_end', last, best, plots, epoch, results) | ||||
LOGGER.info(f"Results saved to {colorstr('bold', save_dir)}") | |||||
torch.cuda.empty_cache() | torch.cuda.empty_cache() | ||||
return results | return results |
plot_results(file=self.save_dir / 'results.csv') # save results.png | plot_results(file=self.save_dir / 'results.csv') # save results.png | ||||
files = ['results.png', 'confusion_matrix.png', *(f'{x}_curve.png' for x in ('F1', 'PR', 'P', 'R'))] | files = ['results.png', 'confusion_matrix.png', *(f'{x}_curve.png' for x in ('F1', 'PR', 'P', 'R'))] | ||||
files = [(self.save_dir / f) for f in files if (self.save_dir / f).exists()] # filter | files = [(self.save_dir / f) for f in files if (self.save_dir / f).exists()] # filter | ||||
self.logger.info(f"Results saved to {colorstr('bold', self.save_dir)}") | |||||
if self.tb: | if self.tb: | ||||
for f in files: | for f in files: |