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
)