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)