量化#
本页提供了 cuvs/preprocessing/quantize
包公开元素的 C++ 类参考。
标量#
#include <cuvs/preprocessing/quantize/scalar.hpp>
namespace cuvs::preprocessing::quantize::scalar
- group 标量 量化器 工具集
函数
- quantizer<double> train(
- raft::resources const &res,
- const params params,
- raft::device_matrix_view<const double, int64_t> dataset
初始化标量量化器,供后续用于量化数据集。
使用示例
raft::handle_t handle; cuvs::preprocessing::quantize::scalar::params params; auto quantizer = cuvs::preprocessing::quantize::scalar::train<double, int8_t>(handle, params, dataset);
- 参数:
res – [in] raft 资源
params – [in] 配置标量量化器,例如 quantile
dataset – [in] 设备上的行主序矩阵视图
- 返回值:
quantizer
- quantizer<double> train(
- raft::resources const &res,
- const params params,
- raft::host_matrix_view<const double, int64_t> dataset
初始化标量量化器,供后续用于量化数据集。
使用示例
raft::handle_t handle; cuvs::preprocessing::quantize::scalar::params params; auto quantizer = cuvs::preprocessing::quantize::scalar::train<double, int8_t>(handle, params, dataset);
- 参数:
res – [in] raft 资源
params – [in] 配置标量量化器,例如 quantile
dataset – [in] 主机上的行主序矩阵视图
- 返回值:
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
将量化变换应用于给定的数据集。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 设备上的行主序矩阵视图
out – [out] 设备上的行主序矩阵视图
- 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
将量化变换应用于给定的数据集。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 主机上的行主序矩阵视图
out – [out] 主机上的行主序矩阵视图
- 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
对之前量化过的数据集执行逆向量化步骤。
请注意,根据所选的数据类型训练数据集,转换可能不是无损的。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 设备上的行主序矩阵视图
out – [out] 设备上的行主序矩阵视图
- 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
对之前量化过的数据集执行逆向量化步骤。
请注意,根据所选的数据类型训练数据集,转换可能不是无损的。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 主机上的行主序矩阵视图
out – [out] 主机上的行主序矩阵视图
- quantizer<float> train(
- raft::resources const &res,
- const params params,
- raft::device_matrix_view<const float, int64_t> dataset
初始化标量量化器,供后续用于量化数据集。
使用示例
raft::handle_t handle; cuvs::preprocessing::quantize::scalar::params params; auto quantizer = cuvs::preprocessing::quantize::scalar::train<float, int8_t>(handle, params, dataset);
- 参数:
res – [in] raft 资源
params – [in] 配置标量量化器,例如 quantile
dataset – [in] 设备上的行主序矩阵视图
- 返回值:
quantizer
- quantizer<float> train(
- raft::resources const &res,
- const params params,
- raft::host_matrix_view<const float, int64_t> dataset
初始化标量量化器,供后续用于量化数据集。
使用示例
raft::handle_t handle; cuvs::preprocessing::quantize::scalar::params params; auto quantizer = cuvs::preprocessing::quantize::scalar::train<float, int8_t>(handle, params, dataset);
- 参数:
res – [in] raft 资源
params – [in] 配置标量量化器,例如 quantile
dataset – [in] 主机上的行主序矩阵视图
- 返回值:
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
将量化变换应用于给定的数据集。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 设备上的行主序矩阵视图
out – [out] 设备上的行主序矩阵视图
- 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
将量化变换应用于给定的数据集。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 主机上的行主序矩阵视图
out – [out] 主机上的行主序矩阵视图
- 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
对之前量化过的数据集执行逆向量化步骤。
请注意,根据所选的数据类型训练数据集,转换可能不是无损的。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 设备上的行主序矩阵视图
out – [out] 设备上的行主序矩阵视图
- 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
对之前量化过的数据集执行逆向量化步骤。
请注意,根据所选的数据类型训练数据集,转换可能不是无损的。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 主机上的行主序矩阵视图
out – [out] 主机上的行主序矩阵视图
- quantizer<half> train(
- raft::resources const &res,
- const params params,
- raft::device_matrix_view<const half, int64_t> dataset
初始化标量量化器,供后续用于量化数据集。
使用示例
raft::handle_t handle; cuvs::preprocessing::quantize::scalar::params params; auto quantizer = cuvs::preprocessing::quantize::scalar::train<half, int8_t>(handle, params, dataset);
- 参数:
res – [in] raft 资源
params – [in] 配置标量量化器,例如 quantile
dataset – [in] 设备上的行主序矩阵视图
- 返回值:
quantizer
- quantizer<half> train(
- raft::resources const &res,
- const params params,
- raft::host_matrix_view<const half, int64_t> dataset
初始化标量量化器,供后续用于量化数据集。
使用示例
raft::handle_t handle; cuvs::preprocessing::quantize::scalar::params params; auto quantizer = cuvs::preprocessing::quantize::scalar::train<half, int8_t>(handle, params, dataset);
- 参数:
res – [in] raft 资源
params – [in] 配置标量量化器,例如 quantile
dataset – [in] 主机上的行主序矩阵视图
- 返回值:
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
将量化变换应用于给定的数据集。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 设备上的行主序矩阵视图
out – [out] 设备上的行主序矩阵视图
- 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
将量化变换应用于给定的数据集。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 主机上的行主序矩阵视图
out – [out] 主机上的行主序矩阵视图
- 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
对之前量化过的数据集执行逆向量化步骤。
请注意,根据所选的数据类型训练数据集,转换可能不是无损的。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 设备上的行主序矩阵视图
out – [out] 设备上的行主序矩阵视图
- 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
对之前量化过的数据集执行逆向量化步骤。
请注意,根据所选的数据类型训练数据集,转换可能不是无损的。
使用示例
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());
- 参数:
res – [in] raft 资源
quantizer – [in] 标量量化器
dataset – [in] 主机上的行主序矩阵视图
out – [out] 主机上的行主序矩阵视图
-
struct params#
- #include <scalar.hpp>
量化器参数。
-
template<typename T>
struct quantizer# - #include <scalar.hpp>
在训练时定义并存储用于量化的标量。
量化通过将浮点数据类型中的一个区间线性映射到量化后的整数类型的完整范围来执行。
- 模板参数:
T – 数据元素类型