Binary

View as Markdown

Python module: cuvs.preprocessing.quantize.binary

transform

@auto_sync_resources @auto_convert_output

1def 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.

Parameters

NameTypeDescription
datasetrow major host or device dataset to transform
outputoptional preallocated output memory, on host or device memory
resourcescuvs.common.Resources, optional

Returns

NameTypeDescription
outputtransformed dataset quantized into a uint8

Examples

1>>> import cupy as cp
2>>> from cuvs.preprocessing.quantize import binary
3>>> from cuvs.neighbors import cagra
4>>> n_samples = 50000
5>>> n_features = 50
6>>> dataset = cp.random.standard_normal((n_samples, n_features),
7... dtype=cp.float32)
8>>> transformed = binary.transform(dataset)
9>>>
10>>> # build a cagra index on the binarized data
11>>> params = cagra.IndexParams(metric="bitwise_hamming",
12... build_algo="iterative_cagra_search")
13>>> idx = cagra.build(params, transformed)