Binary

View as Markdown

Source header: cuvs/preprocessing/quantize/binary.hpp

Binary quantizer utilities

preprocessing::quantize::binary::bit_threshold

quantizer algorithms. The mean and sampling_median thresholds are calculated separately

for each dimension.

1enum class bit_threshold { ... };

Values

NameValue
zero
mean
sampling_median

preprocessing::quantize::binary::params

quantizer parameters.

1struct params { ... };

Fields

NameTypeDescription
thresholdbit_thresholdThreshold method for binarization.
sampling_ratiofloatSpecifies the sampling ratio.

preprocessing::quantize::binary::quantizer

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.

1template <typename T>
2struct quantizer { ... };

Fields

NameTypeDescription
thresholdraft::device_vector<T, int64_t>Threshold vector used for binarization.

preprocessing::quantize::binary::quantizer::quantizer

Construct a quantizer with an empty threshold vector.

1quantizer(raft::resources const& res) : threshold(raft::make_device_vector<T, int64_t>(res, 0));

Parameters

NameDirectionTypeDescription
resraft::resources const&

Returns

void

preprocessing::quantize::binary::train

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

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

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure binary quantizer, e.g. threshold
datasetinraft::device_matrix_view<const double, int64_t>a row-major matrix view on device

Returns

quantizer<double>

Additional overload: preprocessing::quantize::binary::train

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

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

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure binary quantizer, e.g. threshold
datasetinraft::host_matrix_view<const double, int64_t>a row-major matrix view on host

Returns

quantizer<double>

preprocessing::quantize::binary::transform

Applies binary quantization transform to given dataset. If a dataset element is positive,

1void transform(raft::resources const& res,
2const quantizer<double>& quantizer,
3raft::device_matrix_view<const double, int64_t> dataset,
4raft::device_matrix_view<uint8_t, int64_t> out);

set the corresponding bit to 1.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<double>&a binary quantizer
datasetinraft::device_matrix_view<const double, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<uint8_t, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::binary::transform

Applies binary quantization transform to given dataset. If a dataset element is positive,

1void transform(raft::resources const& res,
2const quantizer<double>& quantizer,
3raft::host_matrix_view<const double, int64_t> dataset,
4raft::host_matrix_view<uint8_t, int64_t> out);

set the corresponding bit to 1.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<double>&a binary quantizer
datasetinraft::host_matrix_view<const double, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<uint8_t, int64_t>a row-major matrix view on host

Returns

void

Additional overload: preprocessing::quantize::binary::train

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

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

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure binary quantizer, e.g. threshold
datasetinraft::device_matrix_view<const float, int64_t>a row-major matrix view on device

Returns

quantizer<float>

Additional overload: preprocessing::quantize::binary::train

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

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

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure binary quantizer, e.g. threshold
datasetinraft::host_matrix_view<const float, int64_t>a row-major matrix view on host

Returns

quantizer<float>

Additional overload: preprocessing::quantize::binary::transform

Applies binary quantization transform to given dataset. If a dataset element is positive,

1void transform(raft::resources const& res,
2const quantizer<float>& quantizer,
3raft::device_matrix_view<const float, int64_t> dataset,
4raft::device_matrix_view<uint8_t, int64_t> out);

set the corresponding bit to 1.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<float>&a binary quantizer
datasetinraft::device_matrix_view<const float, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<uint8_t, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::binary::transform

Applies binary quantization transform to given dataset. If a dataset element is positive,

1void transform(raft::resources const& res,
2const quantizer<float>& quantizer,
3raft::host_matrix_view<const float, int64_t> dataset,
4raft::host_matrix_view<uint8_t, int64_t> out);

set the corresponding bit to 1.

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<float>&a binary quantizer
datasetinraft::host_matrix_view<const float, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<uint8_t, int64_t>a row-major matrix view on host

Returns

void

Additional overload: preprocessing::quantize::binary::train

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

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

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure binary quantizer, e.g. threshold
datasetinraft::device_matrix_view<const half, int64_t>a row-major matrix view on device

Returns

quantizer<half>

Additional overload: preprocessing::quantize::binary::train

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

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

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
paramsinconst paramsconfigure binary quantizer, e.g. threshold
datasetinraft::host_matrix_view<const half, int64_t>a row-major matrix view on host

Returns

quantizer<half>

Additional overload: preprocessing::quantize::binary::transform

Applies binary quantization transform to given dataset.

1void transform(raft::resources const& res,
2const quantizer<half>& quantizer,
3raft::device_matrix_view<const half, int64_t> dataset,
4raft::device_matrix_view<uint8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<half>&a binary quantizer
datasetinraft::device_matrix_view<const half, int64_t>a row-major matrix view on device
outoutraft::device_matrix_view<uint8_t, int64_t>a row-major matrix view on device

Returns

void

Additional overload: preprocessing::quantize::binary::transform

Applies binary quantization transform to given dataset.

1void transform(raft::resources const& res,
2const quantizer<half>& quantizer,
3raft::host_matrix_view<const half, int64_t> dataset,
4raft::host_matrix_view<uint8_t, int64_t> out);

Usage example:

Parameters

NameDirectionTypeDescription
resinraft::resources const&raft resource
quantizerinconst quantizer<half>&a binary quantizer
datasetinraft::host_matrix_view<const half, int64_t>a row-major matrix view on host
outoutraft::host_matrix_view<uint8_t, int64_t>a row-major matrix view on host

Returns

void

preprocessing::quantize::binary::[[deprecated

[deprecated] Applies binary quantization transform to given dataset. If a dataset element

1[[deprecated("please create and specify a quantizer")]] void transform(
2raft::resources const& res,
3raft::device_matrix_view<const double, int64_t> dataset,
4raft::device_matrix_view<uint8_t, int64_t> out);

is positive, set the corresponding bit to 1.

Parameters

NameDirectionTypeDescription
arg1"please create and specify a quantizer"

Returns

void

Additional overload: preprocessing::quantize::binary::[[deprecated

[deprecated] Applies binary quantization transform to given dataset. If a dataset element

1[[deprecated("please create and specify a quantizer")]] void transform(
2raft::resources const& res,
3raft::host_matrix_view<const double, int64_t> dataset,
4raft::host_matrix_view<uint8_t, int64_t> out);

is positive, set the corresponding bit to 1.

Parameters

NameDirectionTypeDescription
arg1"please create and specify a quantizer"

Returns

void

Additional overload: preprocessing::quantize::binary::[[deprecated

[deprecated] Applies binary quantization transform to given dataset. If a dataset element

1[[deprecated("please create and specify a quantizer")]] void transform(
2raft::resources const& res,
3raft::device_matrix_view<const float, int64_t> dataset,
4raft::device_matrix_view<uint8_t, int64_t> out);

is positive, set the corresponding bit to 1.

Parameters

NameDirectionTypeDescription
arg1"please create and specify a quantizer"

Returns

void

Additional overload: preprocessing::quantize::binary::[[deprecated

[deprecated] Applies binary quantization transform to given dataset. If a dataset element

1[[deprecated("please create and specify a quantizer")]] void transform(
2raft::resources const& res,
3raft::host_matrix_view<const float, int64_t> dataset,
4raft::host_matrix_view<uint8_t, int64_t> out);

is positive, set the corresponding bit to 1.

Parameters

NameDirectionTypeDescription
arg1"please create and specify a quantizer"

Returns

void

Additional overload: preprocessing::quantize::binary::[[deprecated

[deprecated] Applies binary quantization transform to given dataset. If a dataset element

1[[deprecated("please create and specify a quantizer")]] void transform(
2raft::resources const& res,
3raft::device_matrix_view<const half, int64_t> dataset,
4raft::device_matrix_view<uint8_t, int64_t> out);

is positive, set the corresponding bit to 1.

Parameters

NameDirectionTypeDescription
arg1"please create and specify a quantizer"

Returns

void

Additional overload: preprocessing::quantize::binary::[[deprecated

[deprecated] Applies binary quantization transform to given dataset. If a dataset element

1[[deprecated("please create and specify a quantizer")]] void transform(
2raft::resources const& res,
3raft::host_matrix_view<const half, int64_t> dataset,
4raft::host_matrix_view<uint8_t, int64_t> out);

is positive, set the corresponding bit to 1.

Parameters

NameDirectionTypeDescription
arg1"please create and specify a quantizer"

Returns

void