Quantize#

This page provides C++ class references for the publicly-exposed elements of the cuvs/preprocessing/quantize package.

Scalar#

#include <cuvs/preprocessing/quantize/scalar.hpp>

namespace cuvs::preprocessing::quantize::scalar

group Scalar quantizer utilities

Functions

quantizer<double> train(
raft::resources const &res,
const params params,
raft::device_matrix_view<const double, int64_t> dataset
)#

Initializes a scalar quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure scalar quantizer, e.g. quantile

  • dataset[in] a row-major matrix view on device

Returns:

quantizer

quantizer<double> train(
raft::resources const &res,
const params params,
raft::host_matrix_view<const double, int64_t> dataset
)#

Initializes a scalar quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure scalar quantizer, e.g. quantile

  • dataset[in] a row-major matrix view on host

Returns:

quantizer

void transform(
raft::resources const &res,
const quantizer<double> &quantizer,
raft::device_matrix_view<const double, int64_t> dataset,
raft::device_matrix_view<int8_t, int64_t> out
)#

Applies quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train<double, int8_t>(handle, params,
dataset); auto quantized_dataset = raft::make_device_matrix<int8_t, int64_t>(handle, samples,
features); cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
const quantizer<double> &quantizer,
raft::host_matrix_view<const double, int64_t> dataset,
raft::host_matrix_view<int8_t, int64_t> out
)#

Applies quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train<double, int8_t>(handle, params,
dataset); auto quantized_dataset = raft::make_host_matrix<int8_t, int64_t>(samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

void inverse_transform(
raft::resources const &res,
const quantizer<double> &quantizer,
raft::device_matrix_view<const int8_t, int64_t> dataset,
raft::device_matrix_view<double, int64_t> out
)#

Perform inverse quantization step on previously quantized dataset.

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

auto quantized_dataset = raft::make_device_matrix<int8_t, int64_t>(handle, samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view()); auto dataset_revert = raft::make_device_matrix<double,
int64_t>(handle, samples, features);
cuvs::preprocessing::quantize::scalar::inverse_transform(handle, quantizer,
dataset_revert.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void inverse_transform(
raft::resources const &res,
const quantizer<double> &quantizer,
raft::host_matrix_view<const int8_t, int64_t> dataset,
raft::host_matrix_view<double, int64_t> out
)#

Perform inverse quantization step on previously quantized dataset.

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

auto quantized_dataset = raft::make_host_matrix<int8_t, int64_t>(samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view()); auto dataset_revert = raft::make_host_matrix<double, int64_t>(samples,
features); cuvs::preprocessing::quantize::scalar::inverse_transform(handle, quantizer,
dataset_revert.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

quantizer<float> train(
raft::resources const &res,
const params params,
raft::device_matrix_view<const float, int64_t> dataset
)#

Initializes a scalar quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure scalar quantizer, e.g. quantile

  • dataset[in] a row-major matrix view on device

Returns:

quantizer

quantizer<float> train(
raft::resources const &res,
const params params,
raft::host_matrix_view<const float, int64_t> dataset
)#

Initializes a scalar quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure scalar quantizer, e.g. quantile

  • dataset[in] a row-major matrix view on host

Returns:

quantizer

void transform(
raft::resources const &res,
const quantizer<float> &quantizer,
raft::device_matrix_view<const float, int64_t> dataset,
raft::device_matrix_view<int8_t, int64_t> out
)#

Applies quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train<float, int8_t>(handle, params,
dataset); auto quantized_dataset = raft::make_device_matrix<int8_t, int64_t>(handle, samples,
features); cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
const quantizer<float> &quantizer,
raft::host_matrix_view<const float, int64_t> dataset,
raft::host_matrix_view<int8_t, int64_t> out
)#

Applies quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train<float, int8_t>(handle, params,
dataset); auto quantized_dataset = raft::make_host_matrix<int8_t, int64_t>(samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

void inverse_transform(
raft::resources const &res,
const quantizer<float> &quantizer,
raft::device_matrix_view<const int8_t, int64_t> dataset,
raft::device_matrix_view<float, int64_t> out
)#

Perform inverse quantization step on previously quantized dataset.

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

auto quantized_dataset = raft::make_device_matrix<int8_t, int64_t>(handle, samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view()); auto dataset_revert = raft::make_device_matrix<float, int64_t>(handle,
samples, features); cuvs::preprocessing::quantize::scalar::inverse_transform(handle, quantizer,
dataset_revert.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void inverse_transform(
raft::resources const &res,
const quantizer<float> &quantizer,
raft::host_matrix_view<const int8_t, int64_t> dataset,
raft::host_matrix_view<float, int64_t> out
)#

Perform inverse quantization step on previously quantized dataset.

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

auto quantized_dataset = raft::make_host_matrix<int8_t, int64_t>(samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view()); auto dataset_revert = raft::make_host_matrix<float, int64_t>(samples,
features); cuvs::preprocessing::quantize::scalar::inverse_transform(handle, quantizer,
dataset_revert.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

quantizer<half> train(
raft::resources const &res,
const params params,
raft::device_matrix_view<const half, int64_t> dataset
)#

Initializes a scalar quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure scalar quantizer, e.g. quantile

  • dataset[in] a row-major matrix view on device

Returns:

quantizer

quantizer<half> train(
raft::resources const &res,
const params params,
raft::host_matrix_view<const half, int64_t> dataset
)#

Initializes a scalar quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure scalar quantizer, e.g. quantile

  • dataset[in] a row-major matrix view on host

Returns:

quantizer

void transform(
raft::resources const &res,
const quantizer<half> &quantizer,
raft::device_matrix_view<const half, int64_t> dataset,
raft::device_matrix_view<int8_t, int64_t> out
)#

Applies quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train<half, int8_t>(handle, params,
dataset); auto quantized_dataset = raft::make_device_matrix<int8_t, int64_t>(handle, samples,
features); cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
const quantizer<half> &quantizer,
raft::host_matrix_view<const half, int64_t> dataset,
raft::host_matrix_view<int8_t, int64_t> out
)#

Applies quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::scalar::params params;
auto quantizer = cuvs::preprocessing::quantize::scalar::train<half, int8_t>(handle, params,
dataset); auto quantized_dataset = raft::make_host_matrix<int8_t, int64_t>(samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

void inverse_transform(
raft::resources const &res,
const quantizer<half> &quantizer,
raft::device_matrix_view<const int8_t, int64_t> dataset,
raft::device_matrix_view<half, int64_t> out
)#

Perform inverse quantization step on previously quantized dataset.

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

auto quantized_dataset = raft::make_device_matrix<int8_t, int64_t>(handle, samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view()); auto dataset_revert = raft::make_device_matrix<half, int64_t>(handle,
samples, features); cuvs::preprocessing::quantize::scalar::inverse_transform(handle, quantizer,
dataset_revert.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void inverse_transform(
raft::resources const &res,
const quantizer<half> &quantizer,
raft::host_matrix_view<const int8_t, int64_t> dataset,
raft::host_matrix_view<half, int64_t> out
)#

Perform inverse quantization step on previously quantized dataset.

Note that depending on the chosen data types train dataset the conversion is not lossless.

Usage example:

auto quantized_dataset = raft::make_host_matrix<int8_t, int64_t>(samples, features);
cuvs::preprocessing::quantize::scalar::transform(handle, quantizer, dataset,
quantized_dataset.view()); auto dataset_revert = raft::make_host_matrix<half, int64_t>(samples,
features); cuvs::preprocessing::quantize::scalar::inverse_transform(handle, quantizer,
dataset_revert.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a scalar quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

struct params#
#include <scalar.hpp>

quantizer parameters.

template<typename T>
struct quantizer#
#include <scalar.hpp>

Defines and stores scalar for quantisation upon training.

The quantization is performed by a linear mapping of an interval in the float data type to the full range of the quantized int type.

Template Parameters:

T – data element type

Binary#

#include <cuvs/preprocessing/quantize/binary.hpp>

namespace cuvs::preprocessing::quantize::binary

group Binary quantizer utilities

Enums

enum class bit_threshold#

quantizer algorithms. The mean and sampling_median thresholds are calculated separately for each dimension.

Values:

enumerator zero#
enumerator mean#
enumerator sampling_median#

Functions

quantizer<double> train(
raft::resources const &res,
const params params,
raft::device_matrix_view<const double, int64_t> dataset
)

Initializes a binary quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure binary quantizer, e.g. threshold

  • dataset[in] a row-major matrix view on device

Returns:

quantizer

quantizer<double> train(
raft::resources const &res,
const params params,
raft::host_matrix_view<const double, int64_t> dataset
)

Initializes a binary quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure binary quantizer, e.g. threshold

  • dataset[in] a row-major matrix view on host

Returns:

quantizer

void transform(
raft::resources const &res,
const quantizer<double> &quantizer,
raft::device_matrix_view<const double, int64_t> dataset,
raft::device_matrix_view<uint8_t, int64_t> out
)#

Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantized_dataset = raft::make_device_matrix<uint8_t, int64_t>(handle, samples,
features);
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params,
raft::make_const_mdspan(dataset.view()));
cuvs::preprocessing::quantize::binary::transform(handle, quantizer,
raft::make_const_mdspan(dataset.view()), quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a binary quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
const quantizer<double> &quantizer,
raft::host_matrix_view<const double, int64_t> dataset,
raft::host_matrix_view<uint8_t, int64_t> out
)#

Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantized_dataset = raft::make_host_matrix<uint8_t, int64_t>(handle, samples,
features);
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params,
raft::make_const_mdspan(dataset.view()));
cuvs::preprocessing::quantize::binary::transform(handle, quantizer,
raft::make_const_mdspan(dataset.view()), quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a binary quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

quantizer<float> train(
raft::resources const &res,
const params params,
raft::device_matrix_view<const float, int64_t> dataset
)

Initializes a binary quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure binary quantizer, e.g. threshold

  • dataset[in] a row-major matrix view on device

Returns:

quantizer

quantizer<float> train(
raft::resources const &res,
const params params,
raft::host_matrix_view<const float, int64_t> dataset
)

Initializes a binary quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure binary quantizer, e.g. threshold

  • dataset[in] a row-major matrix view on host

Returns:

quantizer

void transform(
raft::resources const &res,
const quantizer<float> &quantizer,
raft::device_matrix_view<const float, int64_t> dataset,
raft::device_matrix_view<uint8_t, int64_t> out
)#

Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
raft::device_matrix<float, uint64_t> dataset = read_dataset(filename);
int64_t quantized_dim = raft::div_rounding_up_safe(dataset.extent(1), sizeof(uint8_t) * 8);
auto quantized_dataset = raft::make_device_matrix<uint8_t, int64_t>(
   handle, dataset.extent(0), quantized_dim);
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params,
raft::make_const_mdspan(dataset.view()));
cuvs::preprocessing::quantize::binary::transform(handle, quantizer,
raft::make_const_mdspan(dataset.view()), quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a binary quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
const quantizer<float> &quantizer,
raft::host_matrix_view<const float, int64_t> dataset,
raft::host_matrix_view<uint8_t, int64_t> out
)#

Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Usage example:

raft::handle_t handle;
@param[in] params quantization params
cuvs::preprocessing::quantize::binary::params params;
raft::host_matrix<float, uint64_t> dataset = read_dataset(filename);
int64_t quantized_dim = raft::div_rounding_up_safe(dataset.extent(1), sizeof(uint8_t) * 8);
auto quantized_dataset = raft::make_host_matrix<uint8_t, int64_t>(
   handle, params, dataset.extent(0), quantized_dim);
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params,
raft::make_const_mdspan(dataset.view()));
cuvs::preprocessing::quantize::binary::transform(handle, quantizer,
raft::make_const_mdspan(dataset.view()), quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a binary quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

quantizer<half> train(
raft::resources const &res,
const params params,
raft::device_matrix_view<const half, int64_t> dataset
)

Initializes a binary quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure binary quantizer, e.g. threshold

  • dataset[in] a row-major matrix view on device

Returns:

quantizer

quantizer<half> train(
raft::resources const &res,
const params params,
raft::host_matrix_view<const half, int64_t> dataset
)

Initializes a binary quantizer to be used later for quantizing the dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params, dataset);

Parameters:
  • res[in] raft resource

  • params[in] configure binary quantizer, e.g. threshold

  • dataset[in] a row-major matrix view on host

Returns:

quantizer

void transform(
raft::resources const &res,
const quantizer<half> &quantizer,
raft::device_matrix_view<const half, int64_t> dataset,
raft::device_matrix_view<uint8_t, int64_t> out
)#

Applies binary quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
raft::device_matrix<half, uint64_t> dataset = read_dataset(filename);
int64_t quantized_dim = raft::div_rounding_up_safe(dataset.extent(1), sizeof(uint8_t) * 8);
auto quantized_dataset = raft::make_device_matrix<uint8_t, int64_t>(
   handle, params, dataset.extent(0), quantized_dim);
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params,
raft::make_const_mdspan(dataset.view()));
cuvs::preprocessing::quantize::binary::transform(handle, quantizer,
raft::make_const_mdspan(dataset.view()), quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a binary quantizer

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
const quantizer<half> &quantizer,
raft::host_matrix_view<const half, int64_t> dataset,
raft::host_matrix_view<uint8_t, int64_t> out
)#

Applies binary quantization transform to given dataset.

Usage example:

raft::handle_t handle;
cuvs::preprocessing::quantize::binary::params params;
raft::host_matrix<half, uint64_t> dataset = read_dataset(filename);
int64_t quantized_dim = raft::div_rounding_up_safe(dataset.extent(1), sizeof(uint8_t) * 8);
auto quantized_dataset = raft::make_host_matrix<uint8_t, int64_t>(
   handle, params, dataset.extent(0), quantized_dim);
auto quantizer = cuvs::preprocessing::quantize::binary::train(handle, params,
raft::make_const_mdspan(dataset.view()));
cuvs::preprocessing::quantize::binary::transform(handle, quantizer,
raft::make_const_mdspan(dataset.view()), quantized_dataset.view());

Parameters:
  • res[in] raft resource

  • quantizer[in] a binary quantizer

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

void transform(
raft::resources const &res,
raft::device_matrix_view<const double, int64_t> dataset,
raft::device_matrix_view<uint8_t, int64_t> out
)#

[deprecated] Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Parameters:
  • res[in] raft resource

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
raft::host_matrix_view<const double, int64_t> dataset,
raft::host_matrix_view<uint8_t, int64_t> out
)#

[deprecated] Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Parameters:
  • res[in] raft resource

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

void transform(
raft::resources const &res,
raft::device_matrix_view<const float, int64_t> dataset,
raft::device_matrix_view<uint8_t, int64_t> out
)#

[deprecated] Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Parameters:
  • res[in] raft resource

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
raft::host_matrix_view<const float, int64_t> dataset,
raft::host_matrix_view<uint8_t, int64_t> out
)#

[deprecated] Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Parameters:
  • res[in] raft resource

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

void transform(
raft::resources const &res,
raft::device_matrix_view<const half, int64_t> dataset,
raft::device_matrix_view<uint8_t, int64_t> out
)#

[deprecated] Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Parameters:
  • res[in] raft resource

  • dataset[in] a row-major matrix view on device

  • out[out] a row-major matrix view on device

void transform(
raft::resources const &res,
raft::host_matrix_view<const half, int64_t> dataset,
raft::host_matrix_view<uint8_t, int64_t> out
)#

[deprecated] Applies binary quantization transform to given dataset. If a dataset element is positive, set the corresponding bit to 1.

Parameters:
  • res[in] raft resource

  • dataset[in] a row-major matrix view on host

  • out[out] a row-major matrix view on host

struct params#
#include <binary.hpp>

quantizer parameters.

template<typename T>
struct quantizer#
#include <binary.hpp>

Store the threshold vector for quantization. In the binary::transform function, a bit is set if the corresponding element in the dataset vector is greater than the corresponding element in the threshold vector.

Template Parameters:

T – data element type