def __init__(self, detr: Union[nn.DataParallel, CellDETR], detr_optimizer: torch.optim.Optimizer, detr_segmentation_optimizer: torch.optim.Optimizer, training_dataset: DataLoader, validation_dataset: DataLoader, test_dataset: DataLoader, loss_function: nn.Module, learning_rate_schedule: torch.optim.lr_scheduler. MultiStepLR = None, device: str = "cuda", save_data_path: str = "saved_data", use_telegram: bool = True) -> None: """ Constructor method :param detr: (Union[nn.DataParallel, DETR]) DETR model :param detr_optimizer: (torch.optim.Optimizer) DETR model optimizer :param detr_segmentation_optimizer: (torch.optim.Optimizer) DETR segmentation head optimizer :param training_dataset: (DataLoader) Training dataset :param validation_dataset: (DataLoader) Validation dataset :param test_dataset: (DataLoader) Test dataset :param loss_function: (nn.Module) Loss function :param learning_rate_schedule: (torch.optim.lr_scheduler.MultiStepLR) Learning rate schedule :param device: (str) Device to be utilized :param save_data_path: (str) Path to store log data :param use_telegram: (bool) If true telegram_send is used """ # Save parameters self.detr = detr self.detr_optimizer = detr_optimizer self.detr_segmentation_optimizer = detr_segmentation_optimizer self.training_dataset = training_dataset self.validation_dataset = validation_dataset self.test_dataset = test_dataset self.loss_function = loss_function self.learning_rate_schedule = learning_rate_schedule self.device = device self.save_data_path = save_data_path self.use_telegram = use_telegram # Init logger self.logger = misc.Logger() # Make directories to save logs, plots and models during training time_and_date = str(datetime.now()) save_data_path = os.path.join(save_data_path, time_and_date) os.makedirs(save_data_path, exist_ok=True) self.path_save_models = os.path.join(save_data_path, "models") os.makedirs(self.path_save_models, exist_ok=True) self.path_save_plots = os.path.join(save_data_path, "plots") os.makedirs(self.path_save_plots, exist_ok=True) self.path_save_metrics = os.path.join(save_data_path, "metrics") os.makedirs(self.path_save_metrics, exist_ok=True) # Init variable to store best mIoU self.best_miou = 0.0
from __future__ import print_function if __name__ == '__main__': from cifar_main import parse_argument arguments={ 'image-size':256, 'num_classes':4, 'batch-size':32, 'lr':0.002, 'gpu':1} args = parse_argument(additional_arguments=arguments, description='Location classification for stomach images.') import misc misc.ensure_dir(args.logdir) logger = misc.Logger(args.logdir, 'train_log') print = logger.info print("-----------------FLAGS-----------------") for k, v in args.__dict__.items(): print('{}: {}'.format(k, v)) print("---------------------------------------\n") image_path='Data/Normal' splits_p=[0.9, 0.1] import torchvision.transforms as transforms train_transform = transforms.Compose([ transforms.Pad(args.image_size // 8), transforms.RandomCrop(args.image_size), transforms.RandomHorizontalFlip(), ]) trans = [train_transform, None] from stomach_data import get_data_loaders
def __init__(self, detr: Union[nn.DataParallel, CellDETR], detr_optimizer: torch.optim.Optimizer, detr_segmentation_optimizer: torch.optim.Optimizer, training_dataset: DataLoader, validation_dataset: DataLoader, test_dataset: DataLoader, class_labels: [ "11", "12", "13", "14", "15", "16", "17", "18", "21", "22", "23", "24", "25", "26", "27", "28", "31", "32", "33", "34", "35", "36", "37", "38", "41", "42", "43", "44", "45", "46", "47", "48" ], colors: list, loss_function: nn.Module, learning_rate_schedule: torch.optim.lr_scheduler. MultiStepLR = None, device: str = "cuda", save_data_path: str = "model_zoo/Cell-DETR", experiment: str = "first_run", use_telegram: bool = True) -> None: """ Constructor method :param detr: (Union[nn.DataParallel, DETR]) DETR model :param detr_optimizer: (torch.optim.Optimizer) DETR model optimizer :param detr_segmentation_optimizer: (torch.optim.Optimizer) DETR segmentation head optimizer :param training_dataset: (DataLoader) Training dataset :param validation_dataset: (DataLoader) Validation dataset :param test_dataset: (DataLoader) Test dataset :param loss_function: (nn.Module) Loss function :param learning_rate_schedule: (torch.optim.lr_scheduler.MultiStepLR) Learning rate schedule :param device: (str) Device to be utilized :param save_data_path: (str) Path to store log data :param use_telegram: (bool) If true telegram_send is used """ # Save parameters self.detr = detr self.detr_optimizer = detr_optimizer self.detr_segmentation_optimizer = detr_segmentation_optimizer self.training_dataset = training_dataset self.validation_dataset = validation_dataset self.test_dataset = test_dataset self.class_labels = class_labels self.colors = colors self.experiment = experiment self.loss_function = loss_function self.learning_rate_schedule = learning_rate_schedule self.device = device self.save_data_path = save_data_path self.use_telegram = use_telegram # Init logger self.logger = misc.Logger() # Make directories to save logs, plots and models during training save_data_path = os.path.join(save_data_path, experiment) os.makedirs(save_data_path, exist_ok=True) self.path_save_models = os.path.join(save_data_path, "models") os.makedirs(self.path_save_models, exist_ok=True) self.path_save_plots = os.path.join(save_data_path, "plots") os.makedirs(self.path_save_plots, exist_ok=True) self.path_save_metrics = os.path.join(save_data_path, "metrics") os.makedirs(self.path_save_metrics, exist_ok=True) # Init variable to store best mIoU self.best_miou = 0.0