25 #ifndef NVNEURAL_NETWORKTYPES_H
26 #define NVNEURAL_NETWORKTYPES_H
33 #define NVNEURAL_INETWORK_OBJECTCLASS "com.nvidia.network"
332 virtual const
char* getLastBuildModeViolationMessage() const noexcept = 0;
Fundamental NvNeural data types are declared here.
NetworkBackendId
Enumeration describing common network backends.
Definition: CoreTypes.h:239
NeuralResult
NeuralResult is a generic success/failure result type similar to COM HRESULT.
Definition: CoreTypes.h:275
IActivationFunction represents a functor that can perform a specific activation function.
Definition: CoreTypes.h:2015
Common class registry for instantiating objects and collecting plugin-provided descriptors.
Definition: CoreTypes.h:1801
ILayer is the base class for neural network layers.
Definition: LayerTypes.h:59
ILayerList represents an immutable collection of ILayer pointers.
Definition: CoreTypes.h:1060
INetwork2 is the public interface for the revision 2 of the Network interface.
Definition: NetworkTypes.h:295
virtual NeuralResult pushLayer(ILayer *pLayer, const char *pTemplateParentName) noexcept=0
Adds a layer to the network.
INetwork3 is the public interface for the revision 3 of the Network interface.
Definition: NetworkTypes.h:313
virtual bool buildModeRestrictionViolated() const noexcept=0
Returns true if a restricted method was called while in build mode.
virtual void setBuildMode(bool enable) noexcept=0
Enable/disable build mode for the network While in build mode, certains methods from the network are ...
INetworkBackend is a runtime-specific interface for CUDA, DirectX, or other system- specific operatio...
Definition: CoreTypes.h:643
INetworkDebugger defines a callback interface for network inference.
Definition: NetworkTypes.h:51
virtual NeuralResult endLayer(ILayer *pLayer) noexcept=0
Indicates that layer inference has completed.
virtual NeuralResult endPass() noexcept=0
Indicates the end of an inference pass.
virtual NeuralResult endNetwork(INetworkRuntime *pNetworkRuntime, ILayer *pModelLayer, ILayerList *pExternLayerList) noexcept=0
Indicates the end of subnetwork inference within a pass.
virtual NeuralResult beginPass(ILayer **ppInferenceLayers, size_t layerCount) noexcept=0
Indicates the beginning of an inference pass.
virtual NeuralResult beginLayer(ILayer *pLayer) noexcept=0
Indicates that layer inference is beginning.
static const IRefObject::TypeId typeID
Interface TypeId for InterfaceOf purposes.
Definition: NetworkTypes.h:54
virtual NeuralResult skipLayer(ILayer *pLayer) noexcept=0
Indicates that a layer was optimized out during inference and will be skipped.
virtual NeuralResult beginNetwork(INetworkRuntime *pNetworkRuntime, ILayer *pModelLayer, ILayerList *pExternLayerList) noexcept=0
Indicates the beginning of subnetwork inference within a pass.
INetworkDebuggerList represents an immutable collection of INetworkDebugger pointers.
Definition: CoreTypes.h:1111
INetwork is the public interface to Network.
Definition: NetworkTypes.h:119
virtual NeuralResult detachAllNetworkDebuggers() noexcept=0
Detaches all debuggers from the network.
virtual NeuralResult pushLayer(ILayer *pLayer) noexcept=0
Adds a layer to the network.
virtual NeuralResult detachNetworkDebugger(const INetworkDebugger *pDebugger) noexcept=0
Detaches a debugger object from the network.
virtual NeuralResult attachNetworkDebugger(INetworkDebugger *pDebugger) noexcept=0
Attaches a debugger object to the network.
INetworkReshapeDebugger defines a callback interface for reshape operations.
Definition: NetworkTypes.h:97
virtual NeuralResult beginReshapeLayer(ILayer *pLayer) noexcept=0
Callback emitted when a layer is about to reshape.
virtual NeuralResult endReshapeLayer(ILayer *pLayer, NeuralResult reshapeStatus) noexcept=0
Callback emitted when a layer is finished reshaping.
INetworkRuntime is a subset of the basic network interface that is accessible from layer classes duri...
Definition: CoreTypes.h:1129
Base class for all objects, similar to COM's IUnknown.
Definition: CoreTypes.h:343
std::uint64_t TypeId
Every interface must define a unique TypeId. This should be randomized.
Definition: CoreTypes.h:349
IStringList represents an immutable collection of strings.
Definition: CoreTypes.h:1079
IWeightsLoader is an interface that provides weights to layers.
Definition: CoreTypes.h:525