Abstract interface for managing the actual inferencing implementation.
This interface abstracts away the low-level implementation details required for inferencing with implicit batch dimensions network/full dimensions network on GPU and inferencing on DLA.
Actual instance of a BackendContext can be created using createBackendContext
function. This function will create the appropriate BackendContext (ImplicitTrtBackendContext/FullDimTrtBackendContext/DlaTrtBackendContext) based on the parameters used to build the network/engine.
Definition at line 167 of file nvdsinfer_backend.h.
Public Member Functions | |
BackendContext ()=default | |
virtual | ~BackendContext ()=default |
virtual NvDsInferStatus | initialize ()=0 |
virtual int | getNumBoundLayers ()=0 |
virtual const NvDsInferBatchDimsLayerInfo & | getLayerInfo (int bindingIdx)=0 |
virtual int | getLayerIdx (const std::string &bindingName)=0 |
virtual bool | canSupportBatchDims (int bindingIdx, const NvDsInferBatchDims &batchDims)=0 |
virtual NvDsInferBatchDims | getMaxBatchDims (int bindingIdx)=0 |
virtual NvDsInferBatchDims | getMinBatchDims (int bindingIdx)=0 |
virtual NvDsInferBatchDims | getOptBatchDims (int bindingIdx)=0 |
virtual NvDsInferStatus | enqueueBuffer (const std::shared_ptr< InferBatchBuffer > &buffer, CudaStream &stream, CudaEvent *consumeEvent)=0 |
|
default |
|
virtualdefault |
|
pure virtual |
Implemented in nvdsinfer::ImplicitTrtBackendContext, and nvdsinfer::TrtBackendContext.
|
pure virtual |
Implemented in nvdsinfer::DlaFullDimTrtBackendContext, and nvdsinfer::DlaImplicitTrtBackendContext.
|
pure virtual |
Implemented in nvdsinfer::TrtBackendContext.
|
pure virtual |
Implemented in nvdsinfer::TrtBackendContext.
|
pure virtual |
Implemented in nvdsinfer::TrtBackendContext.
|
pure virtual |
Implemented in nvdsinfer::TrtBackendContext.
|
pure virtual |
Implemented in nvdsinfer::TrtBackendContext.
|
pure virtual |
Implemented in nvdsinfer::TrtBackendContext.
|
pure virtual |