NVIDIA NvNeural SDK  2022.2
GPU inference framework for NVIDIA Nsight Deep Learning Designer
nvneural::LayerDesc Struct Reference

This structure describes an ILayer for tools and network builders. More...

#include <nvneural/CoreTypes.h>

Public Attributes

NetworkBackendId backend
 This is the backend identifier supported by this instance of the layer type. More...
 
bool generatesOutput
 Describes whether the primary output from this layer generates output.
 
std::size_t numCategories
 This is the number of categories. More...
 
std::size_t numInputs
 This is the number of inputs supported by this layer. More...
 
std::size_t numParameters
 This is the number of parameters supported for this layer. More...
 
const char * pDisplayName
 An optional human-readable layer name. More...
 
const char * pDocumentation
 An optional human-readable descriptive text. More...
 
const LayerInputDescpInputs
 This is a pointer to the array of LayerInputDesc structs which define the inputs to this layer. More...
 
const char * pObjectClass
 This is the programmatic class name used to instantiate the layer object through the IPlugin::createObject interface. More...
 
const ParamDescpParameters
 This is the pointer to the array of ParamDesc structs. More...
 
const char *const * ppCategories
 An optional array of strings which denote categories that the host can use to organize this layer. More...
 
const char * pSerializedName
 This is the name used to represent the layer type in serialized form. More...
 
std::size_t structSize
 This is the sizeof() this struct. More...
 
TensorFormat tensorFormat
 This is a tensor format supported by this instance of the layer type. More...
 

Detailed Description

This structure describes an ILayer for tools and network builders.

All contained pointers must be valid for the lifetime of the relevant IPlugin object.

Member Data Documentation

◆ backend

NetworkBackendId nvneural::LayerDesc::backend

This is the backend identifier supported by this instance of the layer type.

Layers supporting multiple backends should expose multiple LayerDesc instances.

◆ numCategories

std::size_t nvneural::LayerDesc::numCategories

This is the number of categories.

Those are described in ppCategories. If there are no categories, then ppCategories must be nullptr.

◆ numInputs

std::size_t nvneural::LayerDesc::numInputs

This is the number of inputs supported by this layer.

Those are described in the LayerInputDesc structure.

◆ numParameters

std::size_t nvneural::LayerDesc::numParameters

This is the number of parameters supported for this layer.

Those are described in the ParamDesc structure. If there are 0 parameters, then pParameters must be set to nullptr. The host may reject layers with a large number of parameters during sanity checks.

◆ pDisplayName

const char* nvneural::LayerDesc::pDisplayName

An optional human-readable layer name.

Generally used in host editor. If this is not defined (nullptr) then pSerializedName will be used. String should be treated as UTF-8.

◆ pDocumentation

const char* nvneural::LayerDesc::pDocumentation

An optional human-readable descriptive text.

Generally used in host editor. String should be treated as UTF-8. May use Qt's "rich text" subset of HTML, but please be discreet and do not apply significant style changes–these may not render as expected in future releases of the editor.

◆ pInputs

const LayerInputDesc* nvneural::LayerDesc::pInputs

This is a pointer to the array of LayerInputDesc structs which define the inputs to this layer.

The number of these structs in the memory block is defined in numInputs.

◆ pObjectClass

const char* nvneural::LayerDesc::pObjectClass

This is the programmatic class name used to instantiate the layer object through the IPlugin::createObject interface.

String should be treated as UTF-8. It is recommended that developers use Java-style package naming conventions to reduce chances of confusion.

Examples: "com.nvidia.layers.cuda.s2d", "com.nvidia.layers.cuda.channel_sum"

◆ pParameters

const ParamDesc* nvneural::LayerDesc::pParameters

This is the pointer to the array of ParamDesc structs.

The number of these structs in the memory block is defined in numParameters. Each struct describes a particular parameter. If there are 0 parameters, this must be set to nullptr and numParameters set to 0.

◆ ppCategories

const char* const* nvneural::LayerDesc::ppCategories

An optional array of strings which denote categories that the host can use to organize this layer.

See CategoryList for more information on categories. If there are categories pointed to, then numCategories must be >0.

◆ pSerializedName

const char* nvneural::LayerDesc::pSerializedName

This is the name used to represent the layer type in serialized form.

String should be treated as UTF-8.

Examples: "space_to_depth", "channel_sum"

◆ structSize

std::size_t nvneural::LayerDesc::structSize

This is the sizeof() this struct.

It is used for versioning, for instance, one plugin could have an earlier version of this struct and the host a later version and thus, their structSize would be different.

◆ tensorFormat

TensorFormat nvneural::LayerDesc::tensorFormat

This is a tensor format supported by this instance of the layer type.

Layers supporting multiple tensor formats should expose multiple LayerDesc instances.


The documentation for this struct was generated from the following file: