模板函数 torch_tensorrt::ptq::make_int8_cache_calibrator¶
函数文档¶
-
template<typename Algorithm = nvinfer1::IInt8EntropyCalibrator2>
inline Int8CacheCalibrator<Algorithm> torch_tensorrt::ptq::make_int8_cache_calibrator(const std::string &cache_file_path)¶ 用于从仅使用校准缓存的 torch 数据加载器构建训练后量化校准器的工厂。
创建一个校准器,用于训练后量化,该校准器从先前创建的校准缓存中读取,因此您可以拥有一个需要数据加载器和数据集的校准缓存生成程序,然后保存缓存以便稍后在需要从头开始校准且不依赖数据集的其他程序中使用。但是,如果网络结构发生变化或输入数据集发生变化,也应该重新校准网络,并且应用程序有责任确保这一点。
默认情况下,返回的校准器使用 TensorRT Entropy v2 算法执行校准。这推荐用于前馈网络。您可以覆盖算法选择(例如使用推荐用于 NLP 任务的 MinMax 校准器)通过调用 make_int8_calibrator 并将校准器类作为模板参数。
例如:torch_tensorrt::ptq::make_int8_cache_calibrator<nvinfer1::IInt8MinMaxCalibrator>(calibration_cache_file);
- 模板参数
Algorithm, : – 类 nvinfer1::IInt8Calibrator(默认值:nvinfer1::IInt8EntropyCalibrator2) - 要使用的算法
- 参数
cache_file_path, : – const std::string& - 读取/写入校准缓存的路径
- 返回值
Int8CacheCalibrator<Algorithm>