23.08
|
Base class for all functions. More...
#include <IFunction.h>
Public Member Functions | |
virtual | ~IFunction ()=default |
Destructor. More... | |
virtual void | run ()=0 |
Run the kernels contained in the function. More... | |
virtual void | prepare () |
Prepare the function for executing. More... | |
Base class for all functions.
Definition at line 30 of file IFunction.h.
|
virtualdefault |
Destructor.
|
inlinevirtual |
Prepare the function for executing.
Any one off pre-processing step required by the function is handled here
Reimplemented in CLQLSTMLayer, CLLSTMLayer, CLConvolutionLayer, NEQLSTMLayer, NEGEMMConvolutionLayer, NEConvolutionLayer, CLLSTMLayerQuantized, NELSTMLayer, NEFullyConnectedLayer, CLGEMMConvolutionLayer, CLDirectDeconvolutionLayer, NELSTMLayerQuantized, CLGEMMDeconvolutionLayer, NEDeconvolutionLayer, CLFFTConvolutionLayer, CLWinogradConvolutionLayer, CLGEMMLowpMatrixMultiplyCore, NEFFTConvolutionLayer, CLGEMM, CLDepthwiseConvolutionLayer, NEGEMMLowpMatrixMultiplyCore, NEGEMMConv2d, NEDepthwiseConvolutionLayer, CLDeconvolutionLayer, CLFullyConnectedLayer, CLRNNLayer, NEGEMM, NEWinogradConvolutionLayer, NERNNLayer, FusedConvolutionBatchNormalizationWithPostOpsFunction< TargetInfo, FusedLayerTypes >, FusedConvolutionBatchNormalizationFunction< TargetInfo, FusedLayerTypes >, and FusedDepthwiseConvolutionBatchNormalizationFunction< TargetInfo, FusedLayerTypes >.
Definition at line 57 of file IFunction.h.
|
pure virtual |
Run the kernels contained in the function.
For CPU kernels:
For OpenCL kernels:
Implemented in CLSynthetizeFunctionInitOutputWithZeroAndWithZeroConstantBorder< K, bordersize >, ICLSimpleFunction, INESimpleFunctionNoBorder, INESimpleFunction, ICPPSimpleFunction, CLElementwisePower, CLElementwiseSquaredDiff, CLElementwiseMin, NEElementwiseComparisonStatic< op >, CLRoundLayer, CLElementwiseMax, NEElementwiseComparison, CLAbsLayer, NEElementwisePower, CLArithmeticDivision, CLLogLayer, NEElementwiseDivision, CLSinLayer, CLArithmeticSubtraction, CLQLSTMLayer, CLLSTMLayer, NEElementwiseSquaredDiff, CLConvolutionLayer, CLNegLayer, NEQLSTMLayer, NEGEMMConvolutionLayer, NELogicalNot, CLComplexPixelWiseMultiplication, NEComplexPixelWiseMultiplication, NEConvolutionLayer, CLLSTMLayerQuantized, NELSTMLayer, NEFullyConnectedLayer, CLGEMMConvolutionLayer, NEElementwiseMin, CLDirectDeconvolutionLayer, CLGenerateProposalsLayer, NELSTMLayerQuantized, CLExpLayer, CLGEMMDeconvolutionLayer, NEDeconvolutionLayer, CLArithmeticAddition, CLFFTConvolutionLayer, CLSpaceToBatchLayer, CLWinogradConvolutionLayer, NELogicalOr, CLBatchToSpaceLayer, CLBatchNormalizationLayer, NEPixelWiseMultiplication, CLGEMMLowpMatrixMultiplyCore, CLCropResize, CLFuseBatchNormalization, CLPixelWiseMultiplication, NEFFTConvolutionLayer, NEGenerateProposalsLayer, CLDirectConvolutionLayer, CLStridedSlice, NEMatMul, CLConcatenateLayer, CLIndirectConvolutionLayer, NEDirectConvolutionLayer, CLDepthConvertLayer, CLGEMM, CLGEMMLowpOutputStage, CLInstanceNormalizationLayer, CLMatMul, CLDepthwiseConvolutionLayer, CLMaxUnpoolingLayer, NESpaceToBatchLayer, NEGEMMLowpMatrixMultiplyCore, CLReductionOperation, NEGEMMConv2d, CLActivationLayer, CLArgMinMaxLayer, CLCrop, CLPadLayer, NEBatchNormalizationLayer, CLL2NormalizeLayer, CLNormalizationLayer, CLSlice, NEDepthwiseConvolutionLayer, CLDeconvolutionLayer, CLFullyConnectedLayer, CLSoftmaxLayerGeneric< IS_LOG >, NEFuseBatchNormalization, CLStackLayer, CLRNNLayer, NECropResize, NEPadLayer, CLScale, NEDetectionPostProcessLayer, NEGEMM, CLPoolingLayer, NEActivationLayer, NEAddMulAdd, CLQuantizationLayer, CLDeconvolutionLayerUpsample, CLFFT1D, CLPooling3dLayer, NEArgMinMaxLayer, NEArithmeticSubtraction, NEPoolingLayer, NEStridedSlice, CLConv3D, CLPermute, CLPReluLayer, NEGEMMLowpOutputStage, NEInstanceNormalizationLayer, CLCast, CLFFT2D, NENormalizationLayer, NEReductionOperation, NEWinogradConvolutionLayer, NEConcatenateLayer, NERange, CLConvertFullyConnectedWeights, CLDequantizationLayer, NEL2NormalizeLayer, NEMaxUnpoolingLayer, NERNNLayer, CLLogicalAnd, CLLogicalOr, CLReduceMean, NEArithmeticAddition, NECast, NEFFT1D, NESlice, NEStackLayer, CLSpaceToDepthLayer, NEDepthConvertLayer, NEScale, NESoftmaxLayerGeneric< IS_LOG >, CLCopy, CLFlattenLayer, NEConv3D, NEElementwiseMax, NEPooling3dLayer, CLFill, CLLogicalNot, CPPBoxWithNonMaximaSuppressionLimit, CLRsqrtLayer, CLFloor, CLUnstack, CPPDetectionPostProcessLayer, NEReduceMean, NEPermute, NEUnstack, CLReshapeLayer, CLTranspose, NEFFT2D, NEPReluLayer, NEConvertFullyConnectedWeights, NEDequantizationLayer, NELogicalAnd, NESpaceToDepthLayer, NEElementwiseUnaryLayer< op >, NEFlattenLayer, NEFloor, NEQuantizationLayer, NECopy, NEROIPoolingLayer, NETranspose, NEReshapeLayer, NEFill, CPPDetectionOutputLayer, NEFillBorder, CLSplit, NESplit, FusedConvolutionBatchNormalizationWithPostOpsFunction< TargetInfo, FusedLayerTypes >, FusedConvolutionBatchNormalizationFunction< TargetInfo, FusedLayerTypes >, and FusedDepthwiseConvolutionBatchNormalizationFunction< TargetInfo, FusedLayerTypes >.