def __init__(self, N, D, sketch_size=0.20):
     self.N = N
     self.D = D
     self.blk_size = math.ceil(D // 32) * 32
     self.range = int(N * sketch_size)
     self.kernel = cupyKernel(kernel, "cms_hash_update_retrieve")
     self.cms = torch.cuda.FloatTensor(self.range, D).fill_(0)
     print(N, "CMS Flat", self.cms.size())
Beispiel #2
0
 def __init__(self, N, D, sketch_size=0.20):
     self.N = N
     self.D = D
     self.blk_size = 32
     self.range = max(int(D * sketch_size), 1)
     self.kernel = cupyKernel(kernel, "dense_cms_update")
     self.cms = torch.cuda.FloatTensor(N, self.range).fill_(0)
     print(N, "Dense CMS", self.cms.size())
 def __init__(self, N, D, sketch_size=0.20):
     self.N = N
     self.D = D
     self.blk_size = math.ceil(D // 32) * 32
     self.range = int(N * sketch_size / 3.)
     self.width = self.range * D
     self.kernel = cupyKernel(kernel, "hash_update_retrieve")
     self.cms = torch.zeros(3, self.range, D).float().cuda()
     print(N, "CMS", self.cms.size())
 def __init__(self, N, D, sketch_size=0.20):
     self.N = N
     self.D = D
     self.blk_size = math.ceil(D // 32) * 32
     self.range = int(N * sketch_size / 3.)
     self.width = self.range * D
     self.kernel = cupyKernel(kernel, "hash_update_retrieve")
     self.sketch = torch.cuda.FloatTensor(3, self.range, D).fill_(0)
     print(N, "Count Sketch", self.sketch.size())
Beispiel #5
0
    def __init__(self, d_, k_, L_, weights=None, seed_=8191):
        self.d = d_
        self.k = k_
        self.L = L_
        self.fp = cupyKernel(kernel, "fingerprint")

        if weights is None:
            self.rp = SimHash.generate(d_, k_, L_, seed_)
        else:
            self.rp = SimHash.generate_from_weight(weights)
Beispiel #6
0
    def __init__(self, d_, k_, L_, seed_=8191, srp_list=None):
        self.d = d_
        self.k = k_
        self.L = L_
        self.fp = cupyKernel(kernel, "fingerprint")

        if srp_list is None:
            self.rp = SimHash.generate(d_, k_, L_, seed_)
        else:
            self.rp = SimHash.generate_from_list(srp_list)
Beispiel #7
0
 def initialize(self):
     if self.kernel is None:
         self.kernel = cupyKernel(kernel, "cs_hash_update_retrieve")
 def initialize(self):
     if self.kernel is None:
         if self.D == self.range:
             self.kernel = cupyKernel(kernel, "dense_update")
         else:
             self.kernel = cupyKernel(kernel, "dense_cms_update")
 def __init__(self, d_, k_, L_, seed_=8192, srp_list=None):
     self.d = d_
     self.k = k_
     self.L = L_
     self.fp = cupyKernel(kernel, "fingerprint")
     self.rp = SimHash.generate(d_, k_, L_, seed_)