17 using namespace armcomputetensorutils;
21 const arm_compute::CLCompileContext& clCompileContext)
38 auto powerLayer = std::make_unique<arm_compute::CLElementwisePower>();
39 powerLayer->configure(clCompileContext, &input0, &input1, &output, activationInfo);
40 m_ElementwiseBinaryLayer.reset(powerLayer.release());
45 auto SqDiffLayer = std::make_unique<arm_compute::CLElementwiseSquaredDiff>();
46 SqDiffLayer->configure(clCompileContext, &input0, &input1, &output, activationInfo);
47 m_ElementwiseBinaryLayer.reset(SqDiffLayer.release());
57 if (m_ElementwiseBinaryLayer)
60 m_ElementwiseBinaryLayer->run();
70 const arm_compute::TensorInfo aclInput0Info = BuildArmComputeTensorInfo(input0);
71 const arm_compute::TensorInfo aclInput1Info = BuildArmComputeTensorInfo(input1);
72 const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output);
75 activationDescriptor);
80 return arm_compute::CLElementwisePower::validate(&aclInput0Info,
85 return arm_compute::CLElementwiseSquaredDiff::validate(&aclInput0Info,
#define ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID(label)
Creates a profiling event that uses GetGuid() and GetName() from the calling class.
void Execute() const override
ClElementwiseBinaryWorkload(const ElementwiseBinaryQueueDescriptor &descriptor, const WorkloadInfo &info, const arm_compute::CLCompileContext &clCompileContext)
Copyright (c) 2021 ARM Limited and Contributors.
arm_compute::Status ClElementwiseBinaryValidate(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const ElementwiseBinaryDescriptor &descriptor, const ActivationDescriptor *activationDescriptor)
arm_compute::ActivationLayerInfo ConvertAdditionalInfoToAclActivationLayerInfo(const QueueDescriptor &queueDescriptor)
arm_compute::ActivationLayerInfo ConvertActivationDescriptorToAclActivationLayerInfo(const ActivationDescriptor &actDesc)
An ActivationDescriptor for the ActivationLayer.
A ElementwiseBinaryDescriptor for the ElementwiseBinaryLayer.
BinaryOperation m_Operation
Specifies the elementwiseBinary operation to execute.
std::vector< ITensorHandle * > m_Inputs
std::vector< ITensorHandle * > m_Outputs
void ValidateInputsOutputs(const std::string &descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const
LayerDescriptor m_Parameters
Contains information about TensorInfos of a layer.