VisionLanguageGroup/MicroscopyMatching
0
1import logging2import os3import random4import shutil5from collections.abc import Mapping6from datetime import datetime7 8import numpy as np9import torch10import torch.distributed as dist11 12 13def basicConfig(*args, **kwargs):14 return15 16 17# To prevent duplicate logs, we mask this baseConfig setting18logging.basicConfig = basicConfig19 20 21def create_logger(name, log_file, level=logging.INFO):22 log = logging.getLogger(name)23 formatter = logging.Formatter(24 "[%(asctime)s][%(filename)15s][line:%(lineno)4d][%(levelname)8s] %(message)s"25 )26 fh = logging.FileHandler(log_file)27 fh.setFormatter(formatter)28 sh = logging.StreamHandler()29 sh.setFormatter(formatter)30 log.setLevel(level)31 log.addHandler(fh)32 log.addHandler(sh)33 return log34 35def get_current_time():36 current_time = datetime.now().strftime("%Y%m%d_%H%M%S")37 return current_time38 