|
NVIDIA DeepStream SDK API Reference
|
6.2 Release
|
Go to the documentation of this file.
118 #ifndef _NVDSINFER_CUSTOM_IMPL_H_
119 #define _NVDSINFER_CUSTOM_IMPL_H_
124 #pragma GCC diagnostic push
125 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
126 #include "NvCaffeParser.h"
127 #include "NvUffParser.h"
128 #pragma GCC diagnostic pop
149 IModelParser() =
default;
152 virtual ~IModelParser() =
default;
163 nvinfer1::INetworkDefinition& network) = 0;
168 virtual bool hasFullDimsSupported()
const = 0;
174 virtual const char* getModelName()
const = 0;
207 std::vector<float> &perClassThreshold = perClassPreclusterThreshold;
222 std::vector<NvDsInferLayerInfo>
const &outputLayersInfo,
225 std::vector<NvDsInferObjectDetectionInfo> &objectList);
231 #define CHECK_CUSTOM_PARSE_FUNC_PROTOTYPE(customParseFunc) \
232 static void checkFunc_ ## customParseFunc (NvDsInferParseCustomFunc func = customParseFunc) \
233 { checkFunc_ ## customParseFunc (); }; \
234 extern "C" bool customParseFunc (std::vector<NvDsInferLayerInfo> const &outputLayersInfo, \
235 NvDsInferNetworkInfo const &networkInfo, \
236 NvDsInferParseDetectionParams const &detectionParams, \
237 std::vector<NvDsInferObjectDetectionInfo> &objectList);
251 std::vector<NvDsInferLayerInfo>
const &outputLayersInfo,
254 std::vector<NvDsInferInstanceMaskInfo> &objectList);
260 #define CHECK_CUSTOM_INSTANCE_MASK_PARSE_FUNC_PROTOTYPE(customParseFunc) \
261 static void checkFunc_ ## customParseFunc (NvDsInferInstanceMaskParseCustomFunc func = customParseFunc) \
262 { checkFunc_ ## customParseFunc (); }; \
263 extern "C" bool customParseFunc (std::vector<NvDsInferLayerInfo> const &outputLayersInfo, \
264 NvDsInferNetworkInfo const &networkInfo, \
265 NvDsInferParseDetectionParams const &detectionParams, \
266 std::vector<NvDsInferInstanceMaskInfo> &objectList);
282 std::vector<NvDsInferLayerInfo>
const &outputLayersInfo,
284 float classifierThreshold,
285 std::vector<NvDsInferAttribute> &attrList,
286 std::string &descString);
292 #define CHECK_CUSTOM_CLASSIFIER_PARSE_FUNC_PROTOTYPE(customParseFunc) \
293 static void checkFunc_ ## customParseFunc (NvDsInferClassiferParseCustomFunc func = customParseFunc) \
294 { checkFunc_ ## customParseFunc (); }; \
295 extern "C" bool customParseFunc (std::vector<NvDsInferLayerInfo> const &outputLayersInfo, \
296 NvDsInferNetworkInfo const &networkInfo, \
297 float classifierThreshold, \
298 std::vector<NvDsInferAttribute> &attrList, \
299 std::string &descString);
335 nvinfer1::IBuilder *
const builder, nvinfer1::IBuilderConfig *
const builderConfig,
337 nvinfer1::DataType dataType,
338 nvinfer1::ICudaEngine *& cudaEngine);
344 #define CHECK_CUSTOM_ENGINE_CREATE_FUNC_PROTOTYPE(customEngineCreateFunc) \
345 static void checkFunc_ ## customEngineCreateFunc (NvDsInferEngineCreateCustomFunc = customEngineCreateFunc) \
346 { checkFunc_ ## customEngineCreateFunc(); }; \
347 extern "C" bool customEngineCreateFunc ( \
348 nvinfer1::IBuilder * const builder, \
349 nvinfer1::IBuilderConfig * const builderConfig, \
350 const NvDsInferContextInitParams * const initParams, \
351 nvinfer1::DataType dataType, \
352 nvinfer1::ICudaEngine *& cudaEngine);
445 nvinfer1::DataType dataType,
446 nvinfer1::ICudaEngine *& cudaEngine)
447 __attribute__((deprecated(
"Use 'engine-create-func-name' config parameter instead")));
std::vector< float > perClassPostclusterThreshold
bool NvDsInferInitializeInputLayers(std::vector< NvDsInferLayerInfo > const &inputLayersInfo, NvDsInferNetworkInfo const &networkInfo, unsigned int maxBatchSize)
Initializes the input layers for inference.
unsigned int maxBatchSize
Holds the maximum number of frames to be inferred together in a batch.
void NvDsInferPluginFactoryCaffeDestroy(NvDsInferPluginFactoryCaffe &pluginFactory)
Destroys a Plugin Factory instance created by NvDsInferPluginFactoryCaffeGet().
unsigned int numClassesConfigured
Holds the number of classes requested to be parsed, starting with class ID 0.
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 detection parameters required for parsing objects.
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.
NvDsInferPluginFactoryType
Specifies the type of the Plugin Factory.
bool NvDsInferPluginFactoryRuntimeGet(nvinfer1::IPluginFactory *&pluginFactory)
Returns a new instance of a Plugin Factory interface to be used during parsing deserialization of CUD...
nvcaffeparser1::IPluginFactoryV2 * pluginFactoryV2
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.
Holds information about the model network.
IModelParser * NvDsInferCreateModelParser(const NvDsInferContextInitParams *initParams)
Create a customized neural network parser for user-defined models.
Holds a pointer to a heap-allocated Plugin Factory object required during Caffe model parsing.
void NvDsInferPluginFactoryRuntimeDestroy(nvinfer1::IPluginFactory *pluginFactory)
Destroys a Plugin Factory instance created by NvDsInferPluginFactoryRuntimeGet().
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.
std::vector< float > perClassPreclusterThreshold
Holds a per-class vector of detection confidence thresholds to be applied prior to the clustering ope...
@ PLUGIN_FACTORY_V2
Specifies nvcaffeparser1::IPluginFactoryV2.
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.
Holds the initialization parameters required for the NvDsInferContext interface.
NvDsInferStatus
Enum for the status codes returned by NvDsInferContext.
bool NvDsInferPluginFactoryCaffeGet(NvDsInferPluginFactoryCaffe &pluginFactory, NvDsInferPluginFactoryType &type)
Gets a new instance of a Plugin Factory interface to be used during parsing of Caffe models.