39 std::unique_ptr<Decoder<float>> inputDecoder = MakeDecoder<float>(
GetTensorInfo(inputs[0]), inputs[0]->
Map());
40 std::unique_ptr<Encoder<float>> outputEncoder = MakeEncoder<float>(
GetTensorInfo(outputs[0]), outputs[0]->
Map());
46 std::unique_ptr<Decoder<float>> filterDecoder = MakeDecoder<float>(
GetTensorInfo(inputs[1]), inputs[1]->
Map());
47 std::unique_ptr<Decoder<float>> biasDecoder;
49 if (
m_Data.m_Parameters.m_BiasEnabled)
51 biasDecoder = MakeDecoder<float>(
GetTensorInfo(inputs[2]), inputs[2]->
Map());
54 Convolve3d(inputShape, *inputDecoder, outputShape, *outputEncoder, filterInfo.GetShape(),
55 *filterDecoder,
m_Data.m_Parameters.m_BiasEnabled, biasDecoder.get(),
56 m_Data.m_Parameters.m_DataLayout,
57 m_Data.m_Parameters.m_PadTop,
m_Data.m_Parameters.m_PadLeft,
m_Data.m_Parameters.m_PadFront,
58 m_Data.m_Parameters.m_StrideX,
m_Data.m_Parameters.m_StrideY,
m_Data.m_Parameters.m_StrideZ,
59 m_Data.m_Parameters.m_DilationX,
m_Data.m_Parameters.m_DilationY,
m_Data.m_Parameters.m_DilationZ);
#define ARMNN_REPORT_PROFILING_WORKLOAD_DESC(name, desc, infos, guid)
#define ARMNN_SCOPED_PROFILING_EVENT_REF_NAME_GUID(label)
Creates a profiling event that uses GetGuid() and GetName() from the calling class.
void Execute() const override
RefConvolution3dWorkload(const Convolution3dQueueDescriptor &descriptor, const WorkloadInfo &info)
const TensorShape & GetShape() const
Copyright (c) 2021 ARM Limited and Contributors.
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
std::vector< ITensorHandle * > m_Inputs
std::vector< ITensorHandle * > m_Outputs
LayerDescriptor m_Parameters
Contains information about TensorInfos of a layer.
std::vector< TensorInfo > m_OutputTensorInfos
std::vector< TensorInfo > m_InputTensorInfos