模板函数 torch_tensorrt::ptq::make_int8_calibrator¶
函数文档¶
-
template<typename Algorithm = nvinfer1::IInt8EntropyCalibrator2, typename DataLoader>
inline Int8Calibrator<Algorithm, DataLoader> torch_tensorrt::ptq::make_int8_calibrator(DataLoader dataloader, const std::string &cache_file_path, bool use_cache)¶ 从 torch 数据加载器构建训练后量化校准器的工厂。
创建用于训练后量化的校准器。默认情况下,返回的校准器使用 TensorRT Entropy v2 算法来执行校准。建议将其用于前馈网络。您可以通过使用校准器类作为模板参数调用 make_int8_calibrator 来覆盖算法选择(例如,要使用推荐用于 NLP 任务的 MinMax 校准器)。
例如:
torch_tensorrt::ptq::make_int8_calibrator<nvinfer1::IInt8MinMaxCalibrator>(std::move(calibration_dataloader), calibration_cache_file, use_cache);
- 模板参数
Algorithm, : – class nvinfer1::IInt8Calibrator (默认:nvinfer1::IInt8EntropyCalibrator2) - 要使用的算法
DataLoader, : – std::unique_ptr<torch::data::DataLoader> - 数据加载器类型
- 参数
dataloader, : – std::unique_ptr<torch::data::DataLoader> - 包含数据的加载器
cache_file_path, : – const std::string& - 读取/写入校准缓存的路径
use_cache, : – bool - 使用校准缓存
- 返回值
Int8Calibrator<Algorithm, DataLoader>