code: def end_of_testing_hook(self, tester):
      for split_name, accuracies in tester.all_accuracies.items():
          epoch = accuracies["epoch"]
          self.record_keeper.update_records(
              accuracies,
              epoch,
              parent_name=self.record_group_name(tester, split_name),
          )
          _, _, best_epoch, best_accuracy = self.is_new_best_accuracy(
              tester, split_name, epoch
          )
          best = {
              "best_epoch": best_epoch,
              "best_accuracy": best_accuracy,
          }
          self.record_keeper.update_records(
              best,
              epoch,
              parent_name=self.record_group_name(tester, split_name),
          )
  
imports: import os
  import sqlite3
  import torch
  from .None import common_functions
label_desc: Use image node_id 4 for calling the HookContainer obj's underlying member method code with example usage: obj.end_of_testing_hook(tester) without return types