|
|
NVIDIA DeepStream SDK API Reference
|
9.1 Release
|
Go to the documentation of this file.
115 #ifndef _NVDSINFER_CUSTOM_IMPL_H_
116 #define _NVDSINFER_CUSTOM_IMPL_H_
123 #include <NvInferRuntime.h>
124 #include <NvOnnxParser.h>
143 IModelParser() =
default;
146 virtual ~IModelParser() =
default;
157 nvinfer1::INetworkDefinition& network) = 0;
162 virtual bool hasFullDimsSupported()
const = 0;
168 virtual const char* getModelName()
const = 0;
201 std::vector<float> &perClassThreshold = perClassPreclusterThreshold;
216 std::vector<NvDsInferLayerInfo>
const &outputLayersInfo,
219 std::vector<NvDsInferObjectDetectionInfo> &objectList);
225 #define CHECK_CUSTOM_PARSE_FUNC_PROTOTYPE(customParseFunc) \
226 static void checkFunc_ ## customParseFunc (NvDsInferParseCustomFunc func = customParseFunc) \
227 { checkFunc_ ## customParseFunc (); }; \
228 extern "C" bool customParseFunc (std::vector<NvDsInferLayerInfo> const &outputLayersInfo, \
229 NvDsInferNetworkInfo const &networkInfo, \
230 NvDsInferParseDetectionParams const &detectionParams, \
231 std::vector<NvDsInferObjectDetectionInfo> &objectList);
245 std::vector<NvDsInferLayerInfo>
const &outputLayersInfo,
248 std::vector<NvDsInferInstanceMaskInfo> &objectList);
254 #define CHECK_CUSTOM_INSTANCE_MASK_PARSE_FUNC_PROTOTYPE(customParseFunc) \
255 static void checkFunc_ ## customParseFunc (NvDsInferInstanceMaskParseCustomFunc func = customParseFunc) \
256 { checkFunc_ ## customParseFunc (); }; \
257 extern "C" bool customParseFunc (std::vector<NvDsInferLayerInfo> const &outputLayersInfo, \
258 NvDsInferNetworkInfo const &networkInfo, \
259 NvDsInferParseDetectionParams const &detectionParams, \
260 std::vector<NvDsInferInstanceMaskInfo> &objectList);
276 std::vector<NvDsInferLayerInfo>
const &outputLayersInfo,
278 float classifierThreshold,
279 std::vector<NvDsInferAttribute> &attrList,
280 std::string &descString);
286 #define CHECK_CUSTOM_CLASSIFIER_PARSE_FUNC_PROTOTYPE(customParseFunc) \
287 static void checkFunc_ ## customParseFunc (NvDsInferClassiferParseCustomFunc func = customParseFunc) \
288 { checkFunc_ ## customParseFunc (); }; \
289 extern "C" bool customParseFunc (std::vector<NvDsInferLayerInfo> const &outputLayersInfo, \
290 NvDsInferNetworkInfo const &networkInfo, \
291 float classifierThreshold, \
292 std::vector<NvDsInferAttribute> &attrList, \
293 std::string &descString);
313 std::vector<NvDsInferLayerInfo>
const &outputLayersInfo,
315 float segmentationThreshold,
316 unsigned int numClasses,
317 int* classificationMap,
318 float*& classProbabilityMap);
324 #define CHECK_CUSTOM_SEM_SEGMENTATION_PARSE_FUNC_PROTOTYPE(customParseFunc) \
325 static void checkFunc_ ## customParseFunc (NvDsInferSemSegmentationParseCustomFunc func = customParseFunc) \
326 { checkFunc_ ## customParseFunc (); }; \
327 extern "C" bool customParseFunc (std::vector<NvDsInferLayerInfo> const &outputLayersInfo, \
328 NvDsInferNetworkInfo const &networkInfo, \
329 float segmentationThreshold, \
330 unsigned int numClasses, \
331 int* classificationMap, \
332 float*& classProbabilityMap);
368 nvinfer1::IBuilder *
const builder, nvinfer1::IBuilderConfig *
const builderConfig,
371 nvinfer1::ICudaEngine *& cudaEngine);
377 #define CHECK_CUSTOM_ENGINE_CREATE_FUNC_PROTOTYPE(customEngineCreateFunc) \
378 static void checkFunc_ ## customEngineCreateFunc (NvDsInferEngineCreateCustomFunc = customEngineCreateFunc) \
379 { checkFunc_ ## customEngineCreateFunc(); }; \
380 extern "C" bool customEngineCreateFunc ( \
381 nvinfer1::IBuilder * const builder, \
382 nvinfer1::IBuilderConfig * const builderConfig, \
383 const NvDsInferContextInitParams * const initParams, \
384 nvinfer1::DataType dataType, \
385 nvinfer1::ICudaEngine *& cudaEngine);
433 nvinfer1::ICudaEngine *& cudaEngine)
434 __attribute__((deprecated(
"Use 'engine-create-func-name' config parameter instead")));
bool(* NvDsInferClassiferParseCustomFunc)(std::vector< NvDsInferLayerInfo > const &outputLayersInfo, NvDsInferNetworkInfo const &networkInfo, float classifierThreshold, std::vector< NvDsInferAttribute > &attrList, std::string &descString)
Type definition for the custom classifier output parsing function.
bool(* NvDsInferSemSegmentationParseCustomFunc)(std::vector< NvDsInferLayerInfo > const &outputLayersInfo, NvDsInferNetworkInfo const &networkInfo, float segmentationThreshold, unsigned int numClasses, int *classificationMap, float *&classProbabilityMap)
Type definition for the custom semantic segmentation output parsing function.
IModelParser * NvDsInferCreateModelParser(const NvDsInferContextInitParams *initParams)
Create a customized neural network parser for user-defined models.
unsigned int maxBatchSize
Holds the maximum number of frames to be inferred together in a batch.
unsigned int numClassesConfigured
Holds the number of classes requested to be parsed, starting with class ID 0.
void NvDsInferPluginFactoryRuntimeDestroy(nvinfer1::IPluginFactory *pluginFactory)
Destroys a Plugin Factory instance created by NvDsInferPluginFactoryRuntimeGet().
bool(* NvDsInferInstanceMaskParseCustomFunc)(std::vector< NvDsInferLayerInfo > const &outputLayersInfo, NvDsInferNetworkInfo const &networkInfo, NvDsInferParseDetectionParams const &detectionParams, std::vector< NvDsInferInstanceMaskInfo > &objectList)
Type definition for the custom bounding box and instance mask parsing function.
__attribute__((weak)) gchar *g_nvds_last_error_message
Holds the detection parameters required for parsing objects.
bool NvDsInferInitializeInputLayers(std::vector< NvDsInferLayerInfo > const &inputLayersInfo, NvDsInferNetworkInfo const &networkInfo, unsigned int maxBatchSize)
Initializes the input layers for inference.
Holds information about the model network.
std::vector< float > perClassPostclusterThreshold
std::vector< float > perClassPreclusterThreshold
Holds a per-class vector of detection confidence thresholds to be applied prior to the clustering ope...
bool NvDsInferPluginFactoryRuntimeGet(nvinfer1::IPluginFactory *&pluginFactory)
Returns a new instance of a Plugin Factory interface to be used during parsing deserialization of CUD...
bool(* NvDsInferEngineCreateCustomFunc)(nvinfer1::IBuilder *const builder, nvinfer1::IBuilderConfig *const builderConfig, const NvDsInferContextInitParams *const initParams, nvinfer1::DataType dataType, nvinfer1::ICudaEngine *&cudaEngine)
Type definition for functions that build and return a CudaEngine for custom models.
bool NvDsInferCudaEngineGet(nvinfer1::IBuilder *builder, NvDsInferContextInitParams *initParams, nvinfer1::DataType dataType, nvinfer1::ICudaEngine *&cudaEngine) __attribute__((deprecated("Use 'engine-create-func-name' config parameter instead")))
The NvDsInferCudaEngineGet interface has been deprecated and has been replaced by NvDsInferEngineCrea...
Holds the initialization parameters required for the NvDsInferContext interface.
bool(* NvDsInferParseCustomFunc)(std::vector< NvDsInferLayerInfo > const &outputLayersInfo, NvDsInferNetworkInfo const &networkInfo, NvDsInferParseDetectionParams const &detectionParams, std::vector< NvDsInferObjectDetectionInfo > &objectList)
Type definition for the custom bounding box parsing function.
NvDsInferStatus
Enum for the status codes returned by NvDsInferContext.