NVIDIA NvNeural SDK
2022.2
GPU inference framework for NVIDIA Nsight Deep Learning Designer
|
INetwork2 is the public interface for the revision 2 of the Network interface. More...
#include <nvneural/NetworkTypes.h>
Public Member Functions | |
virtual NeuralResult | pushLayer (ILayer *pLayer) noexcept=0 |
Adds a layer to the network. More... | |
virtual NeuralResult | pushLayer (ILayer *pLayer, const char *pTemplateParentName) noexcept=0 |
Adds a layer to the network. More... | |
![]() | |
virtual NeuralResult | attachNetworkDebugger (INetworkDebugger *pDebugger) noexcept=0 |
Attaches a debugger object to the network. More... | |
virtual NeuralResult | attachReshapeDebugger (INetworkReshapeDebugger *pDebugger) noexcept=0 |
Attaches a reshape debugger object to the network. More... | |
virtual NeuralResult | bindCurrentThread () noexcept=0 |
Binds the network to the current thread. More... | |
virtual NeuralResult | clearLayers () noexcept=0 |
Releases all layers from the network. | |
virtual NeuralResult | clearLoadedWeights () noexcept=0 |
Clears the cache of loaded weights. More... | |
virtual NeuralResult | copyTensor (const ILayer *pSourceLayer, ILayer *pDestinationLayer) noexcept=0 |
Copy the output tensor from one layer to another. | |
virtual IActivationFunction * | defaultForwardActivationFunction (const ILayer *pLayer) const noexcept=0 |
Retrieves the activation function consumed by defaultForwardActivation. More... | |
virtual NeuralResult | detachAllNetworkDebuggers () noexcept=0 |
Detaches all debuggers from the network. | |
virtual NeuralResult | detachAllReshapeDebuggers () noexcept=0 |
Detaches all reshape debuggers from the network. | |
virtual NeuralResult | detachNetworkDebugger (const INetworkDebugger *pDebugger) noexcept=0 |
Detaches a debugger object from the network. | |
virtual NeuralResult | detachReshapeDebugger (const INetworkReshapeDebugger *pDebugger) noexcept=0 |
Detaches a debugger object from the network. | |
virtual const IClassRegistry * | getClassRegistry () const noexcept=0 |
Get the IClassRegistry used by the network. | |
virtual NeuralResult | getNetworkDebuggers (INetworkDebuggerList **ppListOut) const noexcept=0 |
Retrieves the list of attached network debuggers. More... | |
virtual NeuralResult | getProcessedLayerInputList (const ILayer *pLayer, ILayerList **ppProcessedInputLayerList) const noexcept=0 |
Get a layer input list and preprocess it to replace any inner NetworkLayer's layer by the NetworkLayer itself. More... | |
virtual NeuralResult | getWeightsNamesForLayer (IStringList **ppListOut, const ILayer *pLayer) const noexcept=0 |
Retrieves a list of weights consumed by a layer. More... | |
virtual NeuralResult | setClassRegistry (const IClassRegistry *pRegistry) noexcept=0 |
Set an IClassRegistry object to this network. More... | |
virtual NeuralResult | synchronize () noexcept=0 |
Performs a CPU/GPU sync and completes pending operations. | |
virtual NeuralResult | unload () noexcept=0 |
Releases member data and theoretically breaks cycles between Networks/Layers not using weak references. More... | |
virtual NeuralResult | attachBackend (INetworkBackend *pBackend) noexcept=0 |
Attaches a backend to the network. More... | |
virtual NeuralResult | setDefaultBackendId (NetworkBackendId backendId) noexcept=0 |
Sets the default backend for the network. More... | |
virtual NeuralResult | setDefaultTensorFormat (const TensorFormat &tensorFormat) noexcept=0 |
Sets the default tensor format for the network. | |
virtual NeuralResult | setNetworkName (const char *pName) noexcept=0 |
Sets the name for the network. More... | |
virtual NeuralResult | setOptimizationFlag (NetworkBackendId backendId, INetworkBackend::OptimizationCapability capability, bool enabled) noexcept=0 |
Sets if the indicated optimization is applicable to the passed backend. | |
virtual bool | isOptimizationFlagEnabled (NetworkBackendId backendId, INetworkBackend::OptimizationCapability capability) const noexcept=0 |
Gets if the indicated optimization is enabled to the passed backend. | |
virtual NeuralResult | setWeightsLoader (IWeightsLoader *pWeightsLoader) noexcept=0 |
Sets the weights loader for the network. More... | |
virtual NeuralResult | pushLayer (ILayer *pLayer) noexcept=0 |
Adds a layer to the network. More... | |
virtual NeuralResult | pushLayerAlias (const char *pAliasName, ILayer *pLayer) noexcept=0 |
Adds an alias for a layer. More... | |
virtual NeuralResult | reshapeAll () noexcept=0 |
Reshapes the entire network. | |
virtual NeuralResult | reshape (ILayerList *pMarkedLayers) noexcept=0 |
Reshapes a subgraph. More... | |
virtual NeuralResult | inferenceSubgraph (ILayerList *pInputs, ILayerList *pOutputs) noexcept=0 |
Performs inference across a subgraph. More... | |
virtual NeuralResult | inference () noexcept=0 |
Performs inference on the network. More... | |
![]() | |
virtual NetworkBackendId | defaultBackendId () const noexcept=0 |
Retrieves the default backend ID used by the network. | |
virtual NeuralResult | defaultForwardActivation (ILayer *pLayer) const noexcept=0 |
Perform generic forward activation. More... | |
virtual TensorFormat | defaultTensorFormat () const noexcept=0 |
Retrieves the default tensor format used by the network. | |
virtual const INetworkBackend * | getBackend (NetworkBackendId backendId) const noexcept=0 |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
virtual INetworkBackend * | getBackend (NetworkBackendId backendId) noexcept=0 |
Retrieves an installed network backend. More... | |
virtual void * | getInternalTensor (const ILayer *pLayer, NetworkBackendId backendId) noexcept=0 |
Retrieves internal tensor data for a layer. More... | |
virtual TensorDimension | getLayerInternalDimensions (const ILayer *pLayer) const noexcept=0 |
Retrieves the internal dimensions of a layer. More... | |
virtual void * | getTensor (const ILayer *pDataLayer, const ILayer *pRequestingLayer, TensorFormat format) noexcept=0 |
Retrieves tensor data from one layer on behalf of another. More... | |
virtual NeuralResult | getWeightsDimensionForLayer (TensorDimension *pDimensionsOut, const ILayer *pLayer, const char *pWeightsName, NetworkBackendId backendId, TensorFormat format) noexcept=0 |
Retrieves the dimensions of specific weights data for a layer. More... | |
virtual const void * | getWeightsForLayer (const ILayer *pLayer, const char *pWeightsName, NetworkBackendId backendId, TensorFormat format) noexcept=0 |
Retrieves specific weights data for a layer. More... | |
virtual NeuralResult | mapLayerAsWeightsData (const ILayer *pDataLayer, const ILayer *pWeightsLayer, const char *pWeightsName) noexcept=0 |
Maps a layer as a source of weights data for another layer. More... | |
virtual const char * | networkName () const noexcept=0 |
Retrieves the name of this network as a UTF-8 string. | |
virtual NeuralResult | reshapeLater (ILayer *pLayer) noexcept=0 |
Queues a layer for later reshape. More... | |
virtual NeuralResult | setAffectedForward (ILayer *pLayer) noexcept=0 |
Marks a layer and its descendants (those layers indirectly depending on it) as "affected.". More... | |
virtual IWeightsLoader * | weightsLoader () const noexcept=0 |
Retrieves the IWeightsLoader implementation for this network. | |
virtual size_t | layerCount () const noexcept=0 |
Gets the current number of layers in the network. | |
virtual ILayer * | getLayerByName (const char *pLayerName) const noexcept=0 |
Retrieves a layer by name. More... | |
virtual NeuralResult | getAllLayers (ILayerList **ppListOut) const noexcept=0 |
Retrieves a list of layers present in the network. More... | |
virtual NeuralResult | getInputLayers (ILayerList **ppListOut) const noexcept=0 |
Retrieves a list of input layers present in the network. More... | |
virtual NeuralResult | getOutputLayers (ILayerList **ppListOut) const noexcept=0 |
Retrieves a list of output layers present in the network. More... | |
virtual NeuralResult | getDependentLayers (ILayerList **ppListOut, const ILayer *pLayer) const noexcept=0 |
Retrieves a list of layers indirectly depending on pLayer. More... | |
virtual NeuralResult | getAcceptorLayers (ILayerList **ppListOut, const ILayer *pLayer) const noexcept=0 |
Retrieves a list of layers directly depending on pLayer. More... | |
virtual NeuralResult | getInfluenceLayers (ILayerList **ppListOut, const ILayer *pLayer) const noexcept=0 |
Retrieves a list of layers pLayer indirectly depends on. More... | |
![]() | |
virtual RefCount | addRef () const noexcept=0 |
Increments the object's reference count. More... | |
virtual const void * | queryInterface (TypeId interface) const noexcept=0 |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
virtual void * | queryInterface (TypeId interface) noexcept=0 |
Retrieves a new object interface pointer. More... | |
virtual RefCount | release () const noexcept=0 |
Decrements the object's reference count and destroy the object if the reference count reaches zero. More... | |
Static Public Attributes | |
static const IRefObject::TypeId | typeID = 0x18ab6a1edda6c965ul |
Interface TypeId for InterfaceOf purposes. | |
![]() | |
static const IRefObject::TypeId | typeID = 0x9ce8f71bf65288e9ul |
Interface TypeId for InterfaceOf purposes. | |
![]() | |
static const IRefObject::TypeId | typeID = 0x53191c073f990992ul |
Interface TypeId for InterfaceOf purposes. | |
![]() | |
static const TypeId | typeID = 0x14ecc3f9de638e1dul |
Interface TypeId for InterfaceOf purposes. | |
Additional Inherited Members | |
![]() | |
using | RefCount = std::uint32_t |
Typedef used to track the number of active references to an object. | |
using | TypeId = std::uint64_t |
Every interface must define a unique TypeId. This should be randomized. | |
![]() | |
virtual | ~IRefObject ()=default |
A protected destructor prevents accidental stack-allocation of IRefObjects or use with other smart pointer classes like std::unique_ptr. | |
INetwork2 is the public interface for the revision 2 of the Network interface.
|
noexcept |
Adds a layer to the network.
The layer is assumed to be fully constructed (all inputs hooked up, etc.).
|
pure virtualnoexcept |
Adds a layer to the network.
The layer is assumed to be fully constructed (all inputs hooked up, etc.).
pLayer | the layer instance to add to the network |
pTemplateParentName | name of the template this layer was inlined from, use nullptr if not part of any template |