code: def on_epoch_end(self, n_epochs:int, last_metrics:MetricsList, **kwargs)->bool:
          "If we have `last_metrics` plot them in our pbar graph"
          if last_metrics is not None and np.any(last_metrics):
              rec = self.learn.recorder
              iters = range_of(rec.losses)
              val_iter = np.array(rec.nb_batches).cumsum()
              x_bounds = (0, (n_epochs - len(rec.nb_batches)) * rec.nb_batches[-1] + len(rec.losses))
              y_bounds = (0, max((max(Tensor(rec.losses)), max(Tensor(rec.val_losses)))))
              rec.pbar.update_graph([(iters, rec.losses), (val_iter, rec.val_losses)], x_bounds, y_bounds)
          return {f on_epoch_end(self, n_epochs:int, last_metrics:MetricsList, **kwargs)->bool:
          "If we have `last_metrics` plot them in our pbar graph"
          if last_metrics is not None and np.any(last_metrics):
              rec = self.learn.recorder
              iters = range_of(rec.losses)
              val_iter = np.array(rec.nb_batches).cumsum()
              x_bounds = (0, (n_epochs - len(rec.nb_batches)) * rec.nb_batches[-1] + len(rec.losses))
              y_bounds = (0, max((max(Tensor(rec.losses)), max(Tensor(rec.val_losses)))))
              rec.pbar.update_graph([(iters, rec.losses), (val_iter, rec.val_losses)], x_bounds, y_bounds)
          return {}
docs: If we have `last_metrics` plot them in our pbar graph