cuvs.preprocessing.quantize.binary#
2 min read time
Submodules#
Functions#
|
transform(dataset, output=None, resources=None) |
Package Contents#
- cuvs.preprocessing.quantize.binary.transform(*args, resources=None, **kwargs)#
transform(dataset, output=None, resources=None)
Applies binary quantization transform to given dataset
This applies binary quantization to a dataset, changing any positive values to a bitwise 1. This is useful for searching with the BitwiseHamming distance type.
dataset : row major host or device dataset to transform output : optional preallocated output memory, on host or device memory resources : Optional cuVS Resource handle for reusing CUDA resources.
If Resources aren’t supplied, CUDA resources will be allocated inside this function and synchronized before the function exits. If resources are supplied, you will need to explicitly synchronize yourself by calling resources.sync() before accessing the output.
output : transformed dataset quantized into a uint8
>>> import cupy as cp >>> from cuvs.preprocessing.quantize import binary >>> from cuvs.neighbors import cagra >>> n_samples = 50000 >>> n_features = 50 >>> dataset = cp.random.standard_normal((n_samples, n_features), ... dtype=cp.float32) >>> transformed = binary.transform(dataset) >>> >>> # build a cagra index on the binarized data >>> params = cagra.IndexParams(metric="bitwise_hamming", ... build_algo="iterative_cagra_search") >>> idx = cagra.build(params, transformed)