def get_record_keeper(): # record_keeper is a useful package for logging data during training and testing # You can use the trainers and testers without record_keeper. # But if you'd like to install it, then do pip install record_keeper # See more info about it here https://github.com/KevinMusgrave/record_keeper try: import os import errno import record_keeper as record_keeper_package from torch.utils.tensorboard import SummaryWriter def makedir_if_not_there(dir_name): try: os.makedirs(dir_name) except OSError as e: if e.errno != errno.EEXIST: raise pkl_folder = "example_logs" tensorboard_folder = "example_tensorboard" makedir_if_not_there(pkl_folder) makedir_if_not_there(tensorboard_folder) pickler_and_csver = record_keeper_package.PicklerAndCSVer(pkl_folder) tensorboard_writer = SummaryWriter(log_dir=tensorboard_folder) return record_keeper_package.RecordKeeper( tensorboard_writer, pickler_and_csver, ["record_these", "learnable_param_names"]) except ModuleNotFoundError: return None
def get_record_keeper(pkl_folder, tensorboard_folder): try: import record_keeper as record_keeper_package from torch.utils.tensorboard import SummaryWriter pickler_and_csver = record_keeper_package.PicklerAndCSVer(pkl_folder) tensorboard_writer = SummaryWriter(log_dir=tensorboard_folder) record_keeper = record_keeper_package.RecordKeeper( tensorboard_writer, pickler_and_csver, ["record_these", "learnable_param_names"]) return record_keeper, pickler_and_csver, tensorboard_writer except ModuleNotFoundError as e: logging.warn(e) return None, None, None
import errno import record_keeper as record_keeper_package from torch.utils.tensorboard import SummaryWriter def makedir_if_not_there(dir_name): try: os.makedirs(dir_name) except OSError as e: if e.errno != errno.EEXIST: raise pkl_folder = "example_logs" tensorboard_folder = "example_tensorboard" makedir_if_not_there(pkl_folder) makedir_if_not_there(tensorboard_folder) pickler_and_csver = record_keeper_package.PicklerAndCSVer(pkl_folder) tensorboard_writer = SummaryWriter(log_dir=tensorboard_folder) record_keeper = record_keeper_package.RecordKeeper( tensorboard_writer, pickler_and_csver, ["record_these", "learnable_param_names"]) except ModuleNotFoundError: record_keeper = None ############################## ########## Training ########## ############################## device = torch.device("cuda" if torch.cuda.is_available() else "cpu") # Set trunk model and replace the softmax layer with an identity function