Skip to content

FNNEBindingCreator

Visitor that creates NNE tensor bindings from buffers.

This visitor traverses buffer structures and creates corresponding NNE tensor bindings that can be used for neural network inference, matching buffers to tensor descriptors.

struct FNNEBindingCreator : public FNNEBufferVisitor

Methods

FNNEBindingCreator

inline FNNEBindingCreator(TInstancedStruct<FNNEPointBuffer> &InBuffer,
TConstArrayView<UE::NNE::FTensorDesc> InTensorDescs,
TArray<UE::NNE::FTensorBindingCPU> &OutBindings)

Constructor that initializes the binding creator.

Parameters

  • InBuffer (TInstancedStruct<FNNEPointBuffer>)

  • InTensorDescs (TConstArrayView<UE::NNE::FTensorDesc>)

  • OutBindings (TArray<UE::NNE::FTensorBindingCPU>)


FNNEBindingCreator

virtual ~FNNEBindingCreator() = default

operator()

virtual void operator()(const FNNEDictBuffer &InBuffer) override

Visit operation for dictionary buffers.

Parameters

  • InBuffer (const FNNEDictBuffer)

operator()

virtual void operator()(const FNNEBoxBuffer &InBuffer) override

Visit operation for box buffers.

Parameters

  • InBuffer (const FNNEBoxBuffer)

operator()

virtual void operator()(const FNNEMultiBinaryBuffer &InBuffer) override

Visit operation for multi-binary buffers.

Parameters

  • InBuffer (const FNNEMultiBinaryBuffer)

operator()

virtual void operator()(const FNNEDiscreteBuffer &InBuffer) override

Visit operation for discrete buffers.

Parameters

  • InBuffer (const FNNEDiscreteBuffer)

operator()

virtual void operator()(const FNNEMultiDiscreteBuffer &InBuffer) override

Visit operation for multi-discrete buffers.

Parameters

  • InBuffer (const FNNEMultiDiscreteBuffer)

CreateBindings

static inline bool
CreateBindings(const TInstancedStruct<FSpace> &InSpace,
TInstancedStruct<FNNEPointBuffer> &InBuffer,
TConstArrayView<UE::NNE::FTensorDesc> InTensorDescs,
TArray<UE::NNE::FTensorBindingCPU> &OutBindings)

Static utility function to create tensor bindings from a buffer.

Parameters

  • InSpace (const TInstancedStruct<FSpace>)

  • InBuffer (TInstancedStruct<FNNEPointBuffer>)

  • InTensorDescs (TConstArrayView<UE::NNE::FTensorDesc>)

  • OutBindings (TArray<UE::NNE::FTensorBindingCPU>)

Attributes

Buffer

TInstancedStruct<FNNEPointBuffer> &Buffer

Reference to the buffer to create bindings from.


Bindings

TArray<UE::NNE::FTensorBindingCPU> &Bindings

Array of tensor bindings to populate.


bError

bool bError = false

Error flag indicating if binding creation failed.


Index

int Index = 0

Current tensor index being processed.


TensorDescs

TConstArrayView<UE::NNE::FTensorDesc> TensorDescs

Array of tensor descriptors from the neural network model.

Source: Source/ScholaNNE/Public/NNEUtils/NNEBindingCreator.h