def __init__()

in synthesis/feature_sample.py [0:0]


    def __init__(self, class_num, sample_num=1500, feat_dim=512, mode='npos', device='cuda:0'):
        self.class_num = class_num
        self.sample_num = sample_num
        self.feat_dim = feat_dim
        self.device = device
        
        self.class_ptr = torch.zeros((class_num,))
        self.queue = torch.zeros((class_num, sample_num, feat_dim)).to(device)

        self.mode = mode
        if mode == 'npos':
            # Standard Gaussian distribution
            self.new_dis = MultivariateNormal(torch.zeros(self.feat_dim).to(self.queue.device), 
                                              torch.eye(self.feat_dim).to(self.queue.device))
            assert faiss.StandardGpuResources
            res = faiss.StandardGpuResources()
            self.KNN_index = faiss.GpuIndexFlatL2(res, self.feat_dim)
            self.K = 400
            self.select = 300
            self.pick_nums = 1  # 3
            self.sample_from = 1000
            self.ID_points_num = 1  # 2
        elif mode == 'vos':
            self.sample_from = 10000
            self.select = 300
            self.pick_nums = 1
        elif mode == 'ours':
            self.new_dis = MultivariateNormal(torch.zeros(self.feat_dim).to(self.queue.device), 
                                              torch.eye(self.feat_dim).to(self.queue.device))
            res = faiss.StandardGpuResources()
            self.KNN_index = faiss.GpuIndexFlatL2(res, self.feat_dim)
            self.sample_from = 150
            self.K = 25
            self.select = 25
            self.ID_points_num = 1
            self.pick_nums = 1
        else:
            raise NotImplementedError(mode)