Defines Deep Neural Network (DNN) module for performing inference using NVIDIA® TensorRT™ models.
Data Structures | |
| struct | dwDNNCustomLayer |
| Specifies custom layer. More... | |
| struct | dwDNNMetaData |
| Specifies TensorRT model header. More... | |
| struct | dwDNNPluginConfiguration |
| Specified plugin configuration. More... | |
Modules | |
| DNN Plugin | |
| Provides an interface for supporting non-standard DNN layers. | |
| DNN Types | |
| Defines structures used by DNN and DNN related modules. | |
Typedefs | |
| typedef struct dwDNNObject const * | dwConstDNNHandle_t |
| typedef struct dwDNNObject * | dwDNNHandle_t |
| Handles representing Deep Neural Network interface. More... | |
Functions | |
| DW_API_PUBLIC dwStatus | dwDNN_getCUDAStream (cudaStream_t *stream, dwDNNHandle_t network) |
| Gets the CUDA stream used by the feature list. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getInputBlobCount (uint32_t *count, dwDNNHandle_t network) |
| Gets the input blob count. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getInputIndex (uint32_t *blobIndex, const char8_t *blobName, dwDNNHandle_t network) |
| Gets the index of an input blob with a given blob name. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getInputSize (dwBlobSize *blobSize, uint32_t blobIndex, dwDNNHandle_t network) |
| Gets the input blob size at blobIndex. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getInputTensorProperties (dwDNNTensorProperties *tensorProps, uint32_t blobIndex, dwDNNHandle_t network) |
| Gets the input tensor properties at blobIndex. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getMetaData (dwDNNMetaData *metaData, dwDNNHandle_t network) |
| Returns the metadata for the associated network model. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getOutputBlobCount (uint32_t *count, dwDNNHandle_t network) |
| Gets the output blob count. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getOutputIndex (uint32_t *blobIndex, const char8_t *blobName, dwDNNHandle_t network) |
| Gets the index of an output blob with a given blob name. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getOutputSize (dwBlobSize *blobSize, uint32_t blobIndex, dwDNNHandle_t network) |
| Gets the output blob size at blobIndex. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_getOutputTensorProperties (dwDNNTensorProperties *tensorProps, uint32_t blobIndex, dwDNNHandle_t network) |
| Gets the output tensor properties at blobIndex. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_infer (dwDNNTensorHandle_t *outputTensors, uint32_t outputTensorCount, dwConstDNNTensorHandle_t *inputTensors, uint32_t inputTensorCount, dwDNNHandle_t network) |
| Runs inference pipeline on the given input. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_inferRaw (float32_t *const *d_output, const float32_t *const *d_input, uint32_t batchsize, dwDNNHandle_t network) |
| Forwards pass from all input blobs to all output blobs. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_inferSIO (float32_t *d_output, const float32_t *d_input, uint32_t batchsize, dwDNNHandle_t network) |
| Forwards pass from the first input blob to the first output blob (a shortcut for a single input - single output network). More... | |
| DW_API_PUBLIC dwStatus | dwDNN_initializeTensorRTFromFile (dwDNNHandle_t *network, const char8_t *modelFilename, const dwDNNPluginConfiguration *pluginConfiguration, dwProcessorType processorType, dwContextHandle_t context) |
| Creates and initializes a TensorRT Network from file. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_initializeTensorRTFromMemory (dwDNNHandle_t *network, const char8_t *modelContent, uint32_t modelContentSize, const dwDNNPluginConfiguration *pluginConfiguration, dwProcessorType processorType, dwContextHandle_t context) |
| Creates and initializes a TensorRT Network from memory. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_release (dwDNNHandle_t network) |
| Releases a given network. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_reset (dwDNNHandle_t network) |
| Resets a given network. More... | |
| DW_API_PUBLIC dwStatus | dwDNN_setCUDAStream (cudaStream_t stream, dwDNNHandle_t network) |
| Sets the CUDA stream for infer operations. More... | |
| struct dwDNNCustomLayer |
| struct dwDNNMetaData |
| Data Fields | ||
|---|---|---|
| dwDataConditionerParams | dataConditionerParams | DataConditioner parameters for running this network. |
| struct dwDNNPluginConfiguration |
| Data Fields | ||
|---|---|---|
| const dwDNNCustomLayer * | customLayers | Array of custom layers. |
| size_t | numCustomLayers | Number of custom layers. |
| typedef struct dwDNNObject const* dwConstDNNHandle_t |
| typedef struct dwDNNObject* dwDNNHandle_t |
| DW_API_PUBLIC dwStatus dwDNN_getCUDAStream | ( | cudaStream_t * | stream, |
| dwDNNHandle_t | network | ||
| ) |
Gets the CUDA stream used by the feature list.
| [out] | stream | The CUDA stream currently used. |
| [in] | network | A handle to the DNN module. |
| DW_API_PUBLIC dwStatus dwDNN_getInputBlobCount | ( | uint32_t * | count, |
| dwDNNHandle_t | network | ||
| ) |
Gets the input blob count.
| [out] | count | A pointer to the number of input blobs. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getInputIndex | ( | uint32_t * | blobIndex, |
| const char8_t * | blobName, | ||
| dwDNNHandle_t | network | ||
| ) |
Gets the index of an input blob with a given blob name.
| [out] | blobIndex | A pointer to the index of the blob with the given name. |
| [in] | blobName | A pointer to the name of an input blob. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getInputSize | ( | dwBlobSize * | blobSize, |
| uint32_t | blobIndex, | ||
| dwDNNHandle_t | network | ||
| ) |
Gets the input blob size at blobIndex.
| [out] | blobSize | A pointer to the where the input blob size is returned. |
| [in] | blobIndex | Specifies the blob index; must be in the range [0 dwDNN_getInputBlobCount()-1]. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getInputTensorProperties | ( | dwDNNTensorProperties * | tensorProps, |
| uint32_t | blobIndex, | ||
| dwDNNHandle_t | network | ||
| ) |
Gets the input tensor properties at blobIndex.
| [out] | tensorProps | Tensor properties. |
| [in] | blobIndex | Specifies the blob index; must be in the range [0 dwDNN_getInputBlobCount()-1]. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getMetaData | ( | dwDNNMetaData * | metaData, |
| dwDNNHandle_t | network | ||
| ) |
Returns the metadata for the associated network model.
| [out] | metaData | A pointer to a metadata structure. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getOutputBlobCount | ( | uint32_t * | count, |
| dwDNNHandle_t | network | ||
| ) |
Gets the output blob count.
| [out] | count | A pointer to the number of output blobs. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getOutputIndex | ( | uint32_t * | blobIndex, |
| const char8_t * | blobName, | ||
| dwDNNHandle_t | network | ||
| ) |
Gets the index of an output blob with a given blob name.
| [out] | blobIndex | A pointer to the index of the blob with the given name. |
| [in] | blobName | A pointer to the name of an output blob. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getOutputSize | ( | dwBlobSize * | blobSize, |
| uint32_t | blobIndex, | ||
| dwDNNHandle_t | network | ||
| ) |
Gets the output blob size at blobIndex.
| [out] | blobSize | A pointer to the where the output blob size is returned. |
| [in] | blobIndex | Specifies the blob index; must be in the range [0 dwDNN_getOutputBlobCount()-1]. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_getOutputTensorProperties | ( | dwDNNTensorProperties * | tensorProps, |
| uint32_t | blobIndex, | ||
| dwDNNHandle_t | network | ||
| ) |
Gets the output tensor properties at blobIndex.
| [out] | tensorProps | Tensor properties. |
| [in] | blobIndex | Specifies the blob index; must be in the range [0 dwDNN_getOutputBlobCount()-1]. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_infer | ( | dwDNNTensorHandle_t * | outputTensors, |
| uint32_t | outputTensorCount, | ||
| dwConstDNNTensorHandle_t * | inputTensors, | ||
| uint32_t | inputTensorCount, | ||
| dwDNNHandle_t | network | ||
| ) |
Runs inference pipeline on the given input.
| [out] | outputTensors | Output tensors. |
| [in] | outputTensorCount | Number of output tensors. |
| [in] | inputTensors | Input tensors. |
| [in] | inputTensorCount | Number of input tensors. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_inferRaw | ( | float32_t *const * | d_output, |
| const float32_t *const * | d_input, | ||
| uint32_t | batchsize, | ||
| dwDNNHandle_t | network | ||
| ) |
Forwards pass from all input blobs to all output blobs.
| [out] | d_output | A pointer to an array of pointers to the input blobs in GPU Memory. |
| [in] | d_input | A pointer to an array of pointers to the output blobs in GPU Memory. |
| [in] | batchsize | Batch size for inference. Batch size must be equal or less than the one that was given at the time of model generation. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_inferSIO | ( | float32_t * | d_output, |
| const float32_t * | d_input, | ||
| uint32_t | batchsize, | ||
| dwDNNHandle_t | network | ||
| ) |
Forwards pass from the first input blob to the first output blob (a shortcut for a single input - single output network).
| [out] | d_output | A pointer to the output blob in GPU memory. |
| [in] | d_input | A pointer to the input blob in GPU memory. |
| [in] | batchsize | Batch size for inference. Batch size must be equal or less than the one that was given at the time of model generation. |
| [in] | network | Network handle created with dwDNN_initialize(). |
| DW_API_PUBLIC dwStatus dwDNN_initializeTensorRTFromFile | ( | dwDNNHandle_t * | network, |
| const char8_t * | modelFilename, | ||
| const dwDNNPluginConfiguration * | pluginConfiguration, | ||
| dwProcessorType | processorType, | ||
| dwContextHandle_t | context | ||
| ) |
Creates and initializes a TensorRT Network from file.
| [out] | network | A pointer to network handle that will be initialized from parameters. |
| [in] | modelFilename | A pointer to the name of the TensorRT model file. |
| [in] | pluginConfiguration | An optional pointer to plugin configuration for custom layers. |
| [in] | processorType | Processor that the inference should run on. Note that the model must be generated for this processor type. |
| [in] | context | Specifies the handle to the context under which the DNN module is created. |
{
"dataConditionerParams" : {
"meanValue" : [0.0, 0.0, 0.0],
"splitPlanes" : true,
"pixelScaleCoefficient": 1.0,
"ignoreAspectRatio" : false,
"doPerPlaneMeanNormalization" : false
}
"tonemapType" : "none",
"__comment": "tonemapType can be one of {none, agtm}"
}
\ | DW_API_PUBLIC dwStatus dwDNN_initializeTensorRTFromMemory | ( | dwDNNHandle_t * | network, |
| const char8_t * | modelContent, | ||
| uint32_t | modelContentSize, | ||
| const dwDNNPluginConfiguration * | pluginConfiguration, | ||
| dwProcessorType | processorType, | ||
| dwContextHandle_t | context | ||
| ) |
Creates and initializes a TensorRT Network from memory.
| [out] | network | A pointer to network handle that is initialized from parameters. |
| [in] | modelContent | A pointer to network content in the memory. |
| [in] | modelContentSize | Specifies the size of network content in memory, in bytes. |
| [in] | pluginConfiguration | An optional pointer to plugin configuration for custom layers. |
| [in] | processorType | Processor that the inference should run on. Note that the model must be generated for this processor type. |
| [in] | context | Specifies a handle to the context under which the DNN module is created. |
| DW_API_PUBLIC dwStatus dwDNN_release | ( | dwDNNHandle_t | network | ) |
Releases a given network.
| [in] | network | The network handle to release. |
| DW_API_PUBLIC dwStatus dwDNN_reset | ( | dwDNNHandle_t | network | ) |
Resets a given network.
| [in] | network | Network handle to reset. |
| DW_API_PUBLIC dwStatus dwDNN_setCUDAStream | ( | cudaStream_t | stream, |
| dwDNNHandle_t | network | ||
| ) |
Sets the CUDA stream for infer operations.
| [in] | stream | The CUDA stream to be used. Default is the stream 0, resulting in synchronous operations. |
| [in] | network | A handle to the DNN module to set CUDA stream for. |