descstore.py 文件源码

python
阅读 49 收藏 0 点赞 0 评论 0

项目:material-seg 作者: paulu 项目源码 文件源码
def brute_radius_search(self, v, radius2=None, batchsize=1024):
        v = v.ravel()
        norm2 = self.get_dataset('norm2')
        v_norm2 = np.sum(v * v)
        candidates = []
        ids = self.ids[:]
        for i in xrange(0, self.num_ids, batchsize):
            blockdata = self.data[i:i+batchsize, :]
            dists = norm2[i:i+batchsize] + v_norm2 - 2 * np.dot(blockdata, v)
            assert dists.ndim == 1
            if radius2:
                for j in np.flatnonzero(dists < radius2):
                    candidates.append((dists[j], ids[i+j]))
            else:
                for j in xrange(dists.shape[0]):
                    candidates.append((dists[j], ids[i+j]))
        candidates.sort()
        return candidates
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号