模板函数 torch_tensorrt::ptq::make_int8_calibrator¶
定义于 File ptq.h
函数文档¶
-
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 dataloader 构建训练后量化校准器。
创建一个用于训练后量化的校准器。默认情况下,返回的校准器使用 TensorRT Entropy v2 算法执行校准。建议前馈网络使用此方法。您可以通过将校准器类作为模板参数调用 make_int8_calibrator 来覆盖算法选择(例如,使用 NLP 任务推荐的 MinMax Calibrator)。
例如:
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 类型
- 参数
dataloader – std::unique_ptr<torch::data::DataLoader> - 包含数据的 DataLoader
cache_file_path – const std::string& - 读取/写入校准缓存的路径
use_cache – bool - 使用校准缓存
- 返回
Int8Calibrator<Algorithm, DataLoader>