Application-implemented interface for calibration. More...
Public Member Functions | |
virtual int32_t | getBatchSize () const =0 |
Get the batch size used for calibration batches. More... | |
virtual bool | getBatch (void *bindings[], const char *names[], int32_t nbBindings)=0 |
Get a batch of input for calibration. More... | |
virtual const void * | readCalibrationCache (std::size_t &length)=0 |
Load a calibration cache. More... | |
virtual void | writeCalibrationCache (const void *ptr, std::size_t length)=0 |
Save a calibration cache. More... | |
virtual CalibrationAlgoType | getAlgorithm ()=0 |
Get the algorithm used by this calibrator. More... | |
virtual | ~IInt8Calibrator () |
Application-implemented interface for calibration.
Calibration is a step performed by the builder when deciding suitable scale factors for 8-bit inference.
It must also provide a method for retrieving representative images which the calibration process can use to examine the distribution of activations. It may optionally implement a method for caching the calibration result for reuse on subsequent runs.
|
inlinevirtual |
|
pure virtual |
Get the batch size used for calibration batches.
Implemented in sample::anonymous_namespace{sampleEngines.cpp}::RndInt8Calibrator.
|
pure virtual |
Get a batch of input for calibration.
The batch size of the input must match the batch size returned by getBatchSize().
bindings | An array of pointers to device memory that must be updated to point to device memory containing each network input data. |
names | The names of the network input for each pointer in the binding array. |
nbBindings | The number of pointers in the bindings array. |
|
pure virtual |
Load a calibration cache.
Calibration is potentially expensive, so it can be useful to generate the calibration data once, then use it on subsequent builds of the network. The cache includes the regression cutoff and quantile values used to generate it, and will not be used if these do not batch the settings of the current calibrator. However, the network should also be recalibrated if its structure changes, or the input data set changes, and it is the responsibility of the application to ensure this.
length | The length of the cached data, that should be set by the called function. If there is no data, this should be zero. |
|
pure virtual |
Save a calibration cache.
ptr | A pointer to the data to cache. |
length | The length in bytes of the data to cache. |
|
pure virtual |
Get the algorithm used by this calibrator.
Implemented in nvinfer1::IInt8LegacyCalibrator, nvinfer1::IInt8MinMaxCalibrator, nvinfer1::IInt8EntropyCalibrator2, and nvinfer1::IInt8EntropyCalibrator.