def __init__()

in aiops/ContraAD/solver.py [0:0]


    def __init__(self, config):
        self.__dict__.update(Solver.DEFAULTS, **config)

        self.train_loader = get_loader_segment(
            self.index,
            "dataset/" + self.data_path,
            batch_size=self.batch_size,
            win_size=self.win_size,
            mode="train",
            dataset=self.dataset,
        )
        self.vali_loader = get_loader_segment(
            self.index,
            "dataset/" + self.data_path,
            batch_size=self.batch_size,
            win_size=self.win_size,
            mode="val",
            dataset=self.dataset,
        )
        self.test_loader = get_loader_segment(
            self.index,
            "dataset/" + self.data_path,
            batch_size=self.batch_size,
            win_size=self.win_size,
            mode="test",
            dataset=self.dataset,
        )
        self.thre_loader = get_loader_segment(
            self.index,
            "dataset/" + self.data_path,
            batch_size=self.batch_size,
            win_size=self.win_size,
            mode="thre",
            dataset=self.dataset,
        )
        print(f"{len(self.vali_loader)} , {len(self.thre_loader)}")
        self.device = accelerator.device  #torch.device(f"cuda:{str(self.gpu)}" if torch.cuda.is_available() else "cpu")

        self.build_model()

        self.loss_mode = 'z_score_clamp'
        self.soft = True
        self.soft_mode= 'min'

        if self.loss_fuc == "MAE":
            self.criterion = nn.L1Loss()
        elif self.loss_fuc == "MSE":
            self.criterion = nn.MSELoss()
        # self.criterion = FeatureDistance()
        self.criterion = PointHingeLoss(mode=self.loss_mode ,soft=self.soft,soft_mode=self.soft_mode)
        if self.mode == 'train':
            print("train")
            self.model,self.optimizer,self.train_loader,self.vali_loader,self.test_loader,self.thre_loader=accelerator.prepare(
                self.model,self.optimizer,self.train_loader,self.vali_loader,self.test_loader,self.thre_loader
            )
        else:
            print("test")
            self.model,self.optimizer,self.train_loader,self.vali_loader,self.test_loader,self.thre_loader=accelerator.prepare(
                self.model,self.optimizer,self.train_loader,self.vali_loader,self.test_loader,self.thre_loader
            )