コード例 #1
0
ファイル: test.py プロジェクト: brekkanegg/rsna-str-embolism
    def __init__(self, args):

        self.args = args
        if self.args.test_save_dir is None:
            self.save_dir = tools.set_save_dir(args)
        else:
            self.save_dir = self.args.test_save_dir

        self.test_loader = inputs.get_dataloader(self.args)

        model = getattr(models, self.args.model)(self.args)
        self.model = model.cuda()
        self.load_best_model()
コード例 #2
0
    def __init__(self, args, is_trainval=True, writer=None, val_loader=None):

        super(Validator, self).__init__(args)

        self.is_trainval = is_trainval
        self.save_dir = tools.set_save_dir(args)
        self.writer = writer

        if is_trainval:
            self.val_loader = val_loader
        else:
            self.val_loader = inputs.get_dataloader(self.args)
            assert (writer is None) and (val_loader is None)
            print(self.args)

        self.visualizer = visualizer.Visualizer(args, "val", self.save_dir, self.writer)
コード例 #3
0
    def __init__(self, args):
        super(Trainer, self).__init__(args)

        #### 0. Setup
        self.save_dir = tools.set_save_dir(args)
        with open(os.path.join(self.save_dir, "args.json"), "w") as j:
            json.dump(vars(args), j)

        #### 1. Models
        model = getattr(models, args.model)(args)
        print(
            "Model param nums: ",
            sum(p.numel() for p in model.parameters() if p.requires_grad),
        )

        self.model = model.cuda()

        #### 2. Opt
        self.optimizer = opts.get_optimizer(args, self.model)
        self.scheduler = None
        if self.args.lr_scheduler is not None:
            self.scheduler = opts.get_scheduler(args, self.optimizer)

        #### 3. Data

        if args.augment is not None:
            augmentation = getattr(augmentations, args.augment)
        else:
            augmentation = None
        self.train_loader, self.val_loader = inputs.get_dataloader(
            args, transform=augmentation)

        #### 4. Logger
        self.writer = writer.Writer(log_dir=self.save_dir)
        self.logger = logger.Logger()
        self.logger.open(os.path.join(self.save_dir, "log.train.txt"),
                         mode="a")
        self.logger.write("\n>> Pytorch version: {}".format(torch.__version__))
        self.logger.write("\n>> Args: {}".format(args))

        # Validator
        self.validator = Validator(
            args,
            is_trainval=True,
            writer=self.writer,
            val_loader=self.val_loader,
        )
コード例 #4
0
    def __init__(self, args, is_trainval=True, writer=None, val_loader=None):

        self.args = args
        self.is_trainval = is_trainval
        self.save_dir = tools.set_save_dir(args)
        self.writer = writer
        # self.prob_ths = prob_ths

        if is_trainval:
            self.val_loader = val_loader
        else:
            print(args)
            assert (writer is None) and (val_loader is None)
            self.val_loader = my_input.get_dataloader(self.args)

        self.visualizer = visualizer.Visualizer(args, "val", self.save_dir,
                                                self.writer)
コード例 #5
0
ファイル: train.py プロジェクト: brekkanegg/rsna-str-embolism
    def __init__(self, args):
        self.args = args

        #### 0. Setup
        self.save_dir = tools.set_save_dir(args)
        with open(os.path.join(self.save_dir, "args.json"), "w") as j:
            json.dump(vars(args), j)

        #### 1. Data
        # TODO: augmentation
        augmentation = getattr(augmentations, args.augment)
        self.train_loader, self.val_loader = my_input.get_dataloader(
            args, transform=augmentation)

        #### 2. Model
        model = models.PENetClassifier(**vars(args))
        model.load_pretrained(PRETRAINED_WEIGHTS, "0")
        self.model = model.cuda()

        #### 3. Opt
        self.optimizer = opts.get_optimizer(args, self.model)
        self.scheduler = None
        if self.args.lr_scheduler is not None:
            self.scheduler = opts.get_scheduler(args, self.optimizer)

        #### 4. Logger
        self.writer = writer.Writer(log_dir=self.save_dir)
        self.logger = logger.Logger()
        self.logger.open(os.path.join(self.save_dir, "log.train.txt"),
                         mode="a")
        self.logger.write("\n>> Pytorch version: {}".format(torch.__version__))
        self.logger.write("\n>> Args: {}".format(args))

        # self.visualizer = visualizer.Visualizer(
        #     args, "train", self.save_dir, self.writer
        # )

        # Validator
        self.validator = Validator(
            args,
            is_trainval=True,
            writer=self.writer,
            val_loader=self.val_loader,
        )