Default implementation of the ILayerSupport interface, Backends should implement this as a switch statement for each of their LayerTypes calling their specific backend implementation of IsXXXLayerSupported.
Reimplemented from ILayerSupport.
Definition at line 71 of file GpuFsaLayerSupport.cpp.
85 if (infos.size() != 2)
87 throw InvalidArgumentException(
"Invalid number of Activation TensorInfos. "
88 "TensorInfos should be of format: {input, output}.");
91 auto desc = PolymorphicDowncast<const ActivationDescriptor*>(&descriptor);
99 if (infos.size() != 3)
101 throw InvalidArgumentException(
"Invalid number of BatchMatMul TensorInfos. "
102 "TensorInfos should be of format: {input0, input1 output}.");
105 auto desc = PolymorphicDowncast<const BatchMatMulDescriptor*>(&descriptor);
114 if (infos.size() != 2)
116 throw InvalidArgumentException(
"Invalid number of cast TensorInfos. "
117 "TensorInfos should be of format: {input, output}.");
127 if (infos.size() != 4)
129 throw InvalidArgumentException(
"Invalid number of Convolution2d TensorInfos. "
130 "TensorInfos should be of format: {input, output, weights, biases}.");
133 auto desc = PolymorphicDowncast<const Convolution2dDescriptor*>(&descriptor);
134 if (infos[3] == TensorInfo())
155 if (infos.size() != 4)
157 throw InvalidArgumentException(
"Invalid number of DepthwiseConvolution2dDescriptor TensorInfos. "
158 "TensorInfos should be of format: {input, output, weights, biases}.");
161 auto desc = PolymorphicDowncast<const DepthwiseConvolution2dDescriptor*>(&descriptor);
162 if (infos[3] == TensorInfo())
183 if (infos.size() != 3)
185 throw InvalidArgumentException(
"Invalid number of ElementwiseBinary TensorInfos. "
186 "TensorInfos should be of format: {input0, input1, output}.");
189 auto desc = PolymorphicDowncast<const ElementwiseBinaryDescriptor*>(&descriptor);
198 if (infos.size() != 2)
200 throw InvalidArgumentException(
"Invalid number of Pooling2d TensorInfos. "
201 "TensorInfos should be of format: {input, output}.");
204 auto desc = PolymorphicDowncast<const Pooling2dDescriptor*>(&descriptor);
212 if (infos.size() != 2)
214 throw InvalidArgumentException(
"Invalid number of Reshape TensorInfos. "
215 "TensorInfos should be of format: { input, output }.");
218 auto desc = PolymorphicDowncast<const ReshapeDescriptor*>(&descriptor);
227 if (infos.size() != 2)
229 throw InvalidArgumentException(
"Invalid number of Resize TensorInfos. "
230 "TensorInfos should be of format: {input, output}.");
233 auto desc = PolymorphicDowncast<const ResizeDescriptor*>(&descriptor);
241 if (infos.size() != 2)
243 throw InvalidArgumentException(
"Invalid number of Softmax TensorInfos. "
244 "TensorInfos should be of format: {input, output}.");
247 auto desc = PolymorphicDowncast<const SoftmaxDescriptor*>(&descriptor);
References armnn::Activation, armnn::BatchMatMul, armnn::Cast, armnn::Constant, armnn::Convolution2d, armnn::DepthwiseConvolution2d, armnn::ElementwiseBinary, FORWARD_LAYER_VALIDATE_FUNC, armnn::GpuFsaActivationValidate(), armnn::GpuFsaBatchMatMulValidate(), armnn::GpuFsaCastValidate(), armnn::GpuFsaConvolution2dValidate(), armnn::GpuFsaDepthwiseConvolution2dValidate(), armnn::GpuFsaElementwiseBinaryValidate(), armnn::GpuFsaPooling2dValidate(), armnn::GpuFsaReshapeValidate(), armnn::GpuFsaResizeValidate(), armnn::GpuFsaSoftmaxValidate(), armnn::IgnoreUnused(), armnn::Input, armnn::IsGpuFsaBackendSupported(), armnn::Output, armnn::Pooling2d, armnn::Reshape, armnn::Resize, and armnn::Softmax.