def __init__( self, dataset: BasicDataset, student: PairWiseModel, teacher: PairWiseModel, dns, topK=10, mu=0.1, lamda=1, teach_alpha=1.0, dynamic_sample=100, dynamic_start_epoch=0, ): self.rank_aware = False self.dataset = dataset self.student = student self.teacher = teacher.eval() self.RANK = None self.epoch = 0 self._weight_renormalize = False self.mu, self.topk, self.lamda = mu, topK, lamda self.dynamic_sample_num = dynamic_sample self.dns_k = dns self.teach_alpha = teach_alpha self.start_epoch = dynamic_start_epoch self._generateTopK() self._static_weights = self._generateStaticWeights()
def __init__(self, recmodel : PairWiseModel, config : dict): self.model = recmodel self.weight_decay = config['decay'] self.lr = config['lr'] self.opt = optim.Adam(recmodel.parameters(), lr=self.lr)
def __init__(self, dataset: BasicDataset, student: PairWiseModel, teacher: PairWiseModel, dns, lamda=0.5, n_distill=50, t1=1, t2=0): self.student = student self.teacher = teacher.eval() self.dataset = dataset self.dns_k = dns self.strategy = "student guide" self.lamda = lamda self.n_distill = n_distill self.t1, self.t2 = t1, t2