TensorRT 10.8.0
nvinfer1::IInt8Calibrator 类参考抽象类

用于校准的应用实现的接口。 更多...

#include <NvInfer.h>

nvinfer1::IInt8Calibrator 的继承关系图
nvinfer1::IVersionedInterface nvinfer1::v_1_0::IInt8EntropyCalibrator nvinfer1::v_1_0::IInt8EntropyCalibrator2 nvinfer1::v_1_0::IInt8LegacyCalibrator nvinfer1::v_1_0::IInt8MinMaxCalibrator

公共成员函数

virtual TRT_DEPRECATED int32_t getBatchSize () const noexcept=0
 获取用于校准批次的批大小。 更多...
 
virtual bool getBatch (void *bindings[], char const *names[], int32_t nbBindings) noexcept=0
 获取用于校准的输入批次。 更多...
 
virtual void const * readCalibrationCache (std::size_t &length) noexcept=0
 加载校准缓存。 更多...
 
virtual void writeCalibrationCache (void const *ptr, std::size_t length) noexcept=0
 保存校准缓存。 更多...
 
virtual CalibrationAlgoType getAlgorithm () noexcept=0
 获取此校准器使用的算法。 更多...
 
 ~IInt8Calibrator () noexcept override=default
 
- 从 nvinfer1::IVersionedInterface 继承的公共成员函数
virtual APILanguage getAPILanguage () const noexcept
 用于构建此接口实现的语言。 更多...
 
virtual InterfaceInfo getInterfaceInfo () const noexcept=0
 返回与此接口关联的版本信息。应用程序不得重写此方法。 更多...
 
virtual ~IVersionedInterface () noexcept=default
 

附加的继承成员

- 从 nvinfer1::IVersionedInterface 继承的保护成员函数
 IVersionedInterface ()=default
 
 IVersionedInterface (IVersionedInterface const &)=default
 
 IVersionedInterface (IVersionedInterface &&)=default
 
IVersionedInterfaceoperator= (IVersionedInterface const &) &=default
 
IVersionedInterfaceoperator= (IVersionedInterface &&) &=default
 

详细描述

用于校准的应用实现的接口。

校准是构建器在决定 8 位推理的合适比例因子时执行的步骤。

它还必须提供一种检索代表性图像的方法,校准过程可以使用这些图像来检查激活分布。它可以选择实现一种缓存校准结果的方法,以便在后续运行中重用。

已弃用
在 TensorRT 10.1 中已弃用。被显式量化取代。

构造函数和析构函数文档

◆ ~IInt8Calibrator()

nvinfer1::IInt8Calibrator::~IInt8Calibrator ( )
overridedefaultnoexcept

成员函数文档

◆ getAlgorithm()

virtual CalibrationAlgoType nvinfer1::IInt8Calibrator::getAlgorithm ( )
pure virtualnoexcept

◆ getBatch()

virtual bool nvinfer1::IInt8Calibrator::getBatch ( void *  bindings[],
char const *  names[],
int32_t  nbBindings 
)
pure virtualnoexcept

获取用于校准的输入批次。

输入的批大小必须与 getBatchSize() 返回的批大小匹配。

参数
bindings指向设备内存的指针数组,必须更新这些指针以指向包含每个网络输入数据的设备内存。
names绑定数组中每个指针的网络输入名称。
nbBindings绑定数组中指针的数量。
返回值
如果没有更多用于校准的批次,则为 False。
另请参阅
getBatchSize()

◆ getBatchSize()

virtual TRT_DEPRECATED int32_t nvinfer1::IInt8Calibrator::getBatchSize ( ) const
pure virtualnoexcept

获取用于校准批次的批大小。

返回值
批大小。
已弃用
在 TensorRT 10.0 中已弃用。隐式批处理支持已在 TensorRT 10.0 中移除。

◆ readCalibrationCache()

virtual void const * nvinfer1::IInt8Calibrator::readCalibrationCache ( std::size_t &  length)
pure virtualnoexcept

加载校准缓存。

校准可能很耗时,因此生成一次校准数据,然后在后续网络构建中使用它可能很有用。缓存包括用于生成它的回归截止值和分位数,如果这些值与当前校准器的设置不匹配,则不会使用该缓存。但是,如果网络结构发生变化或输入数据集发生变化,也应重新校准网络,应用程序有责任确保这一点。

参数
length缓存数据的长度,应由被调用函数设置。如果没有数据,则应为零。
返回值
指向缓存的指针,如果没有数据,则为 nullptr。

◆ writeCalibrationCache()

virtual void nvinfer1::IInt8Calibrator::writeCalibrationCache ( void const *  ptr,
std::size_t  length 
)
pure virtualnoexcept

保存校准缓存。

参数
ptr指向要缓存的数据的指针。
length要缓存的数据的长度(字节)。
另请参阅
readCalibrationCache()

此类的文档从以下文件生成

  版权所有 © 2024 NVIDIA Corporation
  隐私政策 | 管理我的隐私 | 请勿出售或分享我的数据 | 服务条款 | 辅助功能 | 公司政策 | 产品安全 | 联系方式