50 std::unique_ptr<Decoder<float>> inputDecoder = MakeDecoder<float>(
GetTensorInfo(inputs[0]), inputs[0]->Map());
51 std::unique_ptr<Encoder<float>> outputEncoder = MakeEncoder<float>(
GetTensorInfo(outputs[0]), outputs[0]->Map());
57 std::unique_ptr<Decoder<float>> filterDecoder = MakeDecoder<float>(
GetTensorInfo(inputs[1]), inputs[1]->Map());
58 std::unique_ptr<Decoder<float>> biasDecoder;
62 biasDecoder = MakeDecoder<float>(
GetTensorInfo(inputs[2]), inputs[2]->Map());
65 Convolve3d(inputShape, *inputDecoder, outputShape, *outputEncoder, filterInfo.GetShape(),
const TensorShape & GetShape() const
CPU Execution: Reference C++ kernels.
void Execute() const override
uint32_t m_StrideX
Stride value when proceeding through input for the width dimension.
arm::pipe::ProfilingGuid GetGuid() const final
bool m_BiasEnabled
Enable/disable bias.
Copyright (c) 2021 ARM Limited and Contributors.
LayerDescriptor m_Parameters
uint32_t m_DilationX
Dilation along x axis.
uint32_t m_StrideY
Stride value when proceeding through input for the height dimension.
std::vector< ITensorHandle * > m_Inputs
std::vector< TensorInfo > m_InputTensorInfos
Convolution3dQueueDescriptor m_Data
std::vector< TensorInfo > m_OutputTensorInfos
uint32_t m_PadFront
Padding front value in the depth dimension.
uint32_t m_PadLeft
Padding left value in the width dimension.
#define ARMNN_SCOPED_PROFILING_EVENT_GUID(backendId, name, guid)
Optional< TensorInfo > m_BiasTensorInfo
DataLayout m_DataLayout
The data layout to be used (NDHWC, NCDHW).
void ExecuteAsync(ExecutionData &executionData) override
std::vector< ITensorHandle * > m_Outputs
uint32_t m_PadTop
Padding top value in the height dimension.
std::vector< ITensorHandle * > m_Outputs
#define ARMNN_REPORT_PROFILING_WORKLOAD_DESC(name, desc, infos, guid)
Contains information about TensorInfos of a layer.
std::vector< ITensorHandle * > m_Inputs
uint32_t m_DilationZ
Dilation along z axis.
RefConvolution3dWorkload(const Convolution3dQueueDescriptor &descriptor, const WorkloadInfo &info)
uint32_t m_StrideZ
Stride value when proceeding through input for the depth dimension.
Optional< TensorInfo > m_WeightsTensorInfo
uint32_t m_DilationY
Dilation along y axis.
void Convolve3d(const TensorShape &rInputShape, Decoder< float > &rInputDecoder, const TensorShape &rOutputShape, Encoder< float > &rOutputEncoder, const TensorShape &rFilterShape, Decoder< float > &rFilterDecoder, bool biasEnabled, Decoder< float > *pBiasDecoder, DataLayout dataLayout, unsigned int paddingTop, unsigned int paddingLeft, unsigned int paddingFront, unsigned int xStride, unsigned int yStride, unsigned int zStride, unsigned int xDilation, unsigned int yDilation, unsigned int zDilation)
const TensorInfo & GetTensorInfo(const ITensorHandle *tensorHandle)
float32 helpers