26 #ifndef NVNEURAL_IPROTOTYPELAYER_H
27 #define NVNEURAL_IPROTOTYPELAYER_H
63 std::size_t inputsCount,
68 const char* pImpl) 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
Represents a serialized parameter block in a model definition.
Definition: CoreTypes.h:1889
IPrototypeLayer is an optional interface that marks a layer as a prototype layer.
Definition: IPrototypeLayer.h:38
virtual NeuralResult addParameterKey(const char *pKey) noexcept=0
Adds a named parameter to the layer.
virtual NeuralResult loadPrototypeInfo(const IParameterNode *pParameters) noexcept=0
Loads prototype definitions from a parameter node.
static const IRefObject::TypeId typeID
Interface TypeId for InterfaceOf purposes.
Definition: IPrototypeLayer.h:41
virtual NeuralResult setPrototypeInfo(std::size_t inputsCount, const char *pType, NetworkBackendId backend, TensorFormat format, const char *pDim, const char *pImpl) noexcept=0
Sets details of the prototype layer explicitly.
virtual NeuralResult addForwardEvalCall(const char *pName, const char *pCall) noexcept=0
Adds a call script for a particular tensor format and backend.
virtual NeuralResult addPrototypeCode(const char *pName, const char *pCode) noexcept=0
Adds a kernel definition for a particular tensor format and backend.
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