From 03c7ff3f6188240baaeaeb405a357a0c58195fec Mon Sep 17 00:00:00 2001 From: Nikhil Raj Date: Tue, 22 Aug 2023 12:00:04 +0100 Subject: IVGCVSW-7702 Update Doxygen Docu for 23.08 Signed-off-by: Nikhil Raj Change-Id: I357a9f7e47614589327c1ac5d95b6224ff77103d --- 23.08/_neon_layer_support_8hpp_source.html | 592 +++++++++++++++++++++++++++++ 1 file changed, 592 insertions(+) create mode 100644 23.08/_neon_layer_support_8hpp_source.html (limited to '23.08/_neon_layer_support_8hpp_source.html') diff --git a/23.08/_neon_layer_support_8hpp_source.html b/23.08/_neon_layer_support_8hpp_source.html new file mode 100644 index 0000000000..127a8aef0d --- /dev/null +++ b/23.08/_neon_layer_support_8hpp_source.html @@ -0,0 +1,592 @@ + + + + + + + + +Arm NN: src/backends/neon/NeonLayerSupport.hpp Source File + + + + + + + + + + + + + + + + +
+
+ + + + ArmNN + + + +
+
+  23.08 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
NeonLayerSupport.hpp
+
+
+Go to the documentation of this file.
1 //
+
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+
3 // SPDX-License-Identifier: MIT
+
4 //
+
5 #pragma once
+
6 
+ +
8 
+ +
10 
+
11 namespace armnn
+
12 {
+
13 
+ +
15 {
+
16 public:
+ + +
19 
+ +
21 
+
22  bool IsLayerSupported(const LayerType& type,
+
23  const std::vector<TensorInfo>& infos,
+
24  const BaseDescriptor& descriptor,
+
25  const Optional<LstmInputParamsInfo>& lstmParamsInfo,
+
26  const Optional<QuantizedLstmInputParamsInfo>& quantizedLstmParamsInfo,
+
27  Optional<std::string&> reasonIfUnsupported) const override;
+
28 
+
29  bool IsActivationSupported(const TensorInfo& input,
+
30  const TensorInfo& output,
+
31  const ActivationDescriptor& descriptor,
+
32  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
33 
+
34  bool IsAdditionSupported(const TensorInfo& input0,
+
35  const TensorInfo& input1,
+
36  const TensorInfo& output,
+
37  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
38 
+
39  bool IsArgMinMaxSupported(const TensorInfo& input,
+
40  const TensorInfo& output,
+
41  const ArgMinMaxDescriptor& descriptor,
+
42  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
43 
+
44  bool IsBatchMatMulSupported(const TensorInfo& inputX,
+
45  const TensorInfo& inputY,
+
46  const TensorInfo& output,
+
47  const BatchMatMulDescriptor& descriptor,
+
48  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
49 
+
50  bool IsBatchNormalizationSupported(const TensorInfo& input,
+
51  const TensorInfo& output,
+
52  const TensorInfo& mean,
+
53  const TensorInfo& var,
+
54  const TensorInfo& beta,
+
55  const TensorInfo& gamma,
+
56  const BatchNormalizationDescriptor& descriptor,
+
57  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
58 
+
59  bool IsBatchToSpaceNdSupported(const TensorInfo& input,
+
60  const TensorInfo& output,
+
61  const BatchToSpaceNdDescriptor& descriptor,
+
62  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
63 
+
64  bool IsCastSupported(const TensorInfo& input,
+
65  const TensorInfo& output,
+
66  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
67 
+
68  bool IsChannelShuffleSupported(const TensorInfo& input,
+
69  const TensorInfo& output,
+
70  const ChannelShuffleDescriptor& descriptor,
+
71  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
72 
+
73  bool IsComparisonSupported(const TensorInfo& input0,
+
74  const TensorInfo& input1,
+
75  const TensorInfo& output,
+
76  const ComparisonDescriptor& descriptor,
+
77  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
78 
+
79  bool IsConcatSupported(const std::vector<const TensorInfo*> inputs,
+
80  const TensorInfo& output,
+
81  const OriginsDescriptor& descriptor,
+
82  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
83 
+
84  bool IsConstantSupported(const TensorInfo& output,
+
85  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
86 
+
87  bool IsConvertFp16ToFp32Supported(const TensorInfo& input,
+
88  const TensorInfo& output,
+
89  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
90 
+
91  bool IsConvertFp32ToFp16Supported(const TensorInfo& input,
+
92  const TensorInfo& output,
+
93  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
94 
+
95  bool IsConvolution2dSupported(const TensorInfo& input,
+
96  const TensorInfo& output,
+
97  const Convolution2dDescriptor& descriptor,
+
98  const TensorInfo& weights,
+
99  const Optional<TensorInfo>& biases,
+
100  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
101 
+
102  bool IsConvolution3dSupported(const TensorInfo& input,
+
103  const TensorInfo& output,
+
104  const Convolution3dDescriptor& descriptor,
+
105  const TensorInfo& weights,
+
106  const Optional<TensorInfo>& biases,
+
107  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
108 
+
109  bool IsDepthToSpaceSupported(const TensorInfo& input,
+
110  const TensorInfo& output,
+
111  const DepthToSpaceDescriptor& descriptor,
+
112  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
113 
+
114 
+ +
116  const TensorInfo& output,
+
117  const DepthwiseConvolution2dDescriptor& descriptor,
+
118  const TensorInfo& weights,
+
119  const Optional<TensorInfo>& biases,
+
120  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
121 
+
122  bool IsDequantizeSupported(const TensorInfo& input,
+
123  const TensorInfo& output,
+
124  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
125 
+ +
127  const TensorInfo& output,
+
128  const DepthwiseConvolution2dDescriptor& descriptor,
+
129  const TensorInfo& weights,
+
130  const Optional<TensorInfo>& biases,
+
131  Optional<std::string&> reason = EmptyOptional()) const;
+
132 
+
133  bool IsElementwiseUnarySupported(const TensorInfo& input,
+
134  const TensorInfo& output,
+
135  const ElementwiseUnaryDescriptor& descriptor,
+
136  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
137 
+
138  bool IsFillSupported(const TensorInfo& input,
+
139  const TensorInfo& output,
+
140  const FillDescriptor& descriptor,
+
141  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
142 
+
143  bool IsFloorSupported(const TensorInfo& input,
+
144  const TensorInfo& output,
+
145  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
146 
+
147  bool IsFullyConnectedSupported(const TensorInfo& input,
+
148  const TensorInfo& output,
+
149  const TensorInfo& weights,
+
150  const TensorInfo& biases,
+
151  const FullyConnectedDescriptor& descriptor,
+
152  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
153 
+
154  bool IsGatherNdSupported(const TensorInfo& input0,
+
155  const TensorInfo& input1,
+
156  const TensorInfo& output,
+
157  Optional<std::string&> reasonIfUnsupported) const;
+
158 
+
159  bool IsGatherSupported(const TensorInfo& input0,
+
160  const TensorInfo& input1,
+
161  const TensorInfo& output,
+
162  const GatherDescriptor& descriptor,
+
163  Optional<std::string&> reasonIfUnsupported) const;
+
164 
+
165  bool IsInputSupported(const TensorInfo& input,
+
166  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
167 
+ +
169  const TensorInfo& output,
+
170  const InstanceNormalizationDescriptor& descriptor,
+
171  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
172 
+
173  bool IsL2NormalizationSupported(const TensorInfo& input,
+
174  const TensorInfo& output,
+
175  const L2NormalizationDescriptor& descriptor,
+
176  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
177 
+
178  bool IsLogicalBinarySupported(const TensorInfo& input0,
+
179  const TensorInfo& input1,
+
180  const TensorInfo& output,
+
181  const LogicalBinaryDescriptor& descriptor,
+
182  Optional<std::string&> reasonIfUnsupported) const;
+
183 
+
184  bool IsLogSoftmaxSupported(const TensorInfo& input,
+
185  const TensorInfo& output,
+
186  const LogSoftmaxDescriptor& descriptor,
+
187  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
188 
+
189  bool IsLstmSupported(const TensorInfo& input,
+
190  const TensorInfo& outputStateIn,
+
191  const TensorInfo& cellStateIn,
+
192  const TensorInfo& scratchBuffer,
+
193  const TensorInfo& outputStateOut,
+
194  const TensorInfo& cellStateOut,
+
195  const TensorInfo& output,
+
196  const LstmDescriptor& descriptor,
+
197  const LstmInputParamsInfo& paramsInfo,
+
198  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
199 
+
200  bool IsMaximumSupported(const TensorInfo& input0,
+
201  const TensorInfo& input1,
+
202  const TensorInfo& output,
+
203  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
204 
+
205  bool IsMeanSupported(const TensorInfo& input,
+
206  const TensorInfo& output,
+
207  const MeanDescriptor& descriptor,
+
208  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
209 
+
210  bool IsMinimumSupported(const TensorInfo& input0,
+
211  const TensorInfo& input1,
+
212  const TensorInfo& output,
+
213  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
214 
+
215  bool IsMultiplicationSupported(const TensorInfo& input0,
+
216  const TensorInfo& input1,
+
217  const TensorInfo& output,
+
218  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
219 
+
220  bool IsDivisionSupported(const TensorInfo& input0,
+
221  const TensorInfo& input1,
+
222  const TensorInfo& output,
+
223  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
224 
+
225  bool IsNormalizationSupported(const TensorInfo& input,
+
226  const TensorInfo& output,
+
227  const NormalizationDescriptor& descriptor,
+
228  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
229 
+
230  bool IsOutputSupported(const TensorInfo& output,
+
231  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
232 
+
233  bool IsPadSupported(const TensorInfo& input,
+
234  const TensorInfo& output,
+
235  const PadDescriptor& descriptor,
+
236  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
237 
+
238  bool IsPermuteSupported(const TensorInfo& input,
+
239  const TensorInfo& output,
+
240  const PermuteDescriptor& descriptor,
+
241  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
242 
+
243  bool IsPooling2dSupported(const TensorInfo& input,
+
244  const TensorInfo& output,
+
245  const Pooling2dDescriptor& descriptor,
+
246  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
247  bool IsPooling3dSupported(const TensorInfo& input,
+
248  const TensorInfo& output,
+
249  const Pooling3dDescriptor& descriptor,
+
250  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
251  bool IsPreluSupported(const TensorInfo& input,
+
252  const TensorInfo& alpha,
+
253  const TensorInfo& output,
+
254  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
255 
+
256  bool IsQLstmSupported(const TensorInfo& input,
+
257  const TensorInfo& previousOutputIn,
+
258  const TensorInfo& previousCellStateIn,
+
259  const TensorInfo& outputStateOut,
+
260  const TensorInfo& cellStateOut,
+
261  const TensorInfo& output,
+
262  const QLstmDescriptor& descriptor,
+
263  const LstmInputParamsInfo& paramsInfo,
+
264  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
265 
+
266  bool IsQuantizeSupported(const TensorInfo& input,
+
267  const TensorInfo& output,
+
268  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
269 
+
270  bool IsQuantizedLstmSupported(const TensorInfo& input,
+
271  const TensorInfo& cellStateIn,
+
272  const TensorInfo& outputStateIn,
+
273  const TensorInfo& cellStateOut,
+
274  const TensorInfo& outputStateOut,
+
275  const QuantizedLstmInputParamsInfo& paramsInfo,
+
276  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
277 
+
278  bool IsReduceSupported(const TensorInfo& input,
+
279  const TensorInfo& output,
+
280  const ReduceDescriptor& descriptor,
+
281  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
282 
+
283  bool IsReshapeSupported(const TensorInfo& input,
+
284  const TensorInfo& output,
+
285  const ReshapeDescriptor& descriptor,
+
286  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
287 
+
288  bool IsResizeSupported(const TensorInfo& input,
+
289  const TensorInfo& output,
+
290  const ResizeDescriptor& descriptor,
+
291  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
292 
+
293  bool IsSliceSupported(const TensorInfo& input,
+
294  const TensorInfo& output,
+
295  const SliceDescriptor& descriptor,
+
296  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
297 
+
298  bool IsSoftmaxSupported(const TensorInfo& input,
+
299  const TensorInfo& output,
+
300  const SoftmaxDescriptor& descriptor,
+
301  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
302 
+
303  bool IsSpaceToBatchNdSupported(const TensorInfo& input,
+
304  const TensorInfo& output,
+
305  const SpaceToBatchNdDescriptor& descriptor,
+
306  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
307 
+
308  bool IsSpaceToDepthSupported(const TensorInfo& input,
+
309  const TensorInfo& output,
+
310  const SpaceToDepthDescriptor& descriptor,
+
311  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
312 
+
313  bool IsSplitterSupported(const TensorInfo& input,
+
314  const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
+
315  const ViewsDescriptor& descriptor,
+
316  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
317 
+
318  bool IsStackSupported(const std::vector<const TensorInfo*>& inputs,
+
319  const TensorInfo& output,
+
320  const StackDescriptor& descriptor,
+
321  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
322 
+
323  bool IsStridedSliceSupported(const TensorInfo& input,
+
324  const TensorInfo& output,
+
325  const StridedSliceDescriptor& descriptor,
+
326  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
327 
+
328  bool IsSubtractionSupported(const TensorInfo& input0,
+
329  const TensorInfo& input1,
+
330  const TensorInfo& output,
+
331  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
332 
+
333  bool IsTileSupported(const TensorInfo& input0,
+
334  const TensorInfo& output,
+
335  const TileDescriptor& descriptor,
+
336  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
337 
+ +
339  const TensorInfo& output,
+
340  const TransposeConvolution2dDescriptor& descriptor,
+
341  const TensorInfo& weights,
+
342  const Optional<TensorInfo>& biases,
+
343  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
344 
+
345  bool IsTransposeSupported(const TensorInfo& input,
+
346  const TensorInfo& output,
+
347  const TransposeDescriptor& descriptor,
+
348  Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const;
+
349 
+ +
351  const TensorInfo& outputStateIn,
+
352  const TensorInfo& cellStateIn,
+
353  const TensorInfo& outputStateOut,
+
354  const TensorInfo& cellStateOut,
+
355  const TensorInfo& output,
+
356  const UnidirectionalSequenceLstmDescriptor& descriptor,
+
357  const LstmInputParamsInfo& paramsInfo,
+
358  Optional<std::string&> reasonIfUnsupported) const;
+
359 
+
360 private:
+ +
362 
+
363 }; // class NeonLayerSupport
+
364 
+
365 } // namespace armnn
+
+
+
A BatchNormalizationDescriptor for the BatchNormalizationLayer.
+
bool IsAdditionSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsDequantizeSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A ViewsDescriptor for the SplitterLayer.
+
An ActivationDescriptor for the ActivationLayer.
Definition: Descriptors.hpp:36
+
A FullyConnectedDescriptor for the FullyConnectedLayer.
+
bool IsSpaceToBatchNdSupported(const TensorInfo &input, const TensorInfo &output, const SpaceToBatchNdDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A QLstmDescriptor for the QLstmLayer.
+ +
bool IsPermuteSupported(const TensorInfo &input, const TensorInfo &output, const PermuteDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsStackSupported(const std::vector< const TensorInfo * > &inputs, const TensorInfo &output, const StackDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A Pooling3dDescriptor for the Pooling3dLayer.
+
A ResizeDescriptor for the ResizeLayer.
+
An ArgMinMaxDescriptor for ArgMinMaxLayer.
Definition: Descriptors.hpp:67
+
An InstanceNormalizationDescriptor for InstanceNormalizationLayer.
+
A GatherDescriptor for the GatherLayer.
+ +
bool IsBatchMatMulSupported(const TensorInfo &inputX, const TensorInfo &inputY, const TensorInfo &output, const BatchMatMulDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsPooling3dSupported(const TensorInfo &input, const TensorInfo &output, const Pooling3dDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsConvertFp32ToFp16Supported(const TensorInfo &input, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+ +
bool IsPreluSupported(const TensorInfo &input, const TensorInfo &alpha, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A L2NormalizationDescriptor for the L2NormalizationLayer.
+
A NormalizationDescriptor for the NormalizationLayer.
+
A ChannelShuffleDescriptor for the ChannelShuffle operator.
+
bool IsMultiplicationSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A StackDescriptor for the StackLayer.
+
bool IsConstantSupported(const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsLogicalBinarySupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const LogicalBinaryDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported) const
+
bool IsBatchToSpaceNdSupported(const TensorInfo &input, const TensorInfo &output, const BatchToSpaceNdDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsReshapeSupported(const TensorInfo &input, const TensorInfo &output, const ReshapeDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+ +
bool IsBatchNormalizationSupported(const TensorInfo &input, const TensorInfo &output, const TensorInfo &mean, const TensorInfo &var, const TensorInfo &beta, const TensorInfo &gamma, const BatchNormalizationDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsGatherNdSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported) const
+
bool IsSoftmaxSupported(const TensorInfo &input, const TensorInfo &output, const SoftmaxDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsSpaceToDepthSupported(const TensorInfo &input, const TensorInfo &output, const SpaceToDepthDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+ +
bool IsLayerSupported(const LayerType &type, const std::vector< TensorInfo > &infos, const BaseDescriptor &descriptor, const Optional< LstmInputParamsInfo > &lstmParamsInfo, const Optional< QuantizedLstmInputParamsInfo > &quantizedLstmParamsInfo, Optional< std::string & > reasonIfUnsupported) const override
Default implementation of the ILayerSupport interface, Backends should implement this as a switch sta...
+
bool IsResizeSupported(const TensorInfo &input, const TensorInfo &output, const ResizeDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsReduceSupported(const TensorInfo &input, const TensorInfo &output, const ReduceDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsNormalizationSupported(const TensorInfo &input, const TensorInfo &output, const NormalizationDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsSliceSupported(const TensorInfo &input, const TensorInfo &output, const SliceDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsSubtractionSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A PadDescriptor for the PadLayer.
+
bool IsTileSupported(const TensorInfo &input0, const TensorInfo &output, const TileDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A TransposeDescriptor for the TransposeLayer.
+
bool IsQuantizeSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
EmptyOptional is used to initialize the Optional class in case we want to have default value for an O...
Definition: Optional.hpp:32
+
A SliceDescriptor for the SliceLayer.
+ +
bool IsOutputSupported(const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsMinimumSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A ReshapeDescriptor for the ReshapeLayer.
+
bool IsPadSupported(const TensorInfo &input, const TensorInfo &output, const PadDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsDepthToSpaceSupported(const TensorInfo &input, const TensorInfo &output, const DepthToSpaceDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsTransposeSupported(const TensorInfo &input, const TensorInfo &output, const TransposeDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A PermuteDescriptor for the PermuteLayer.
+
A BatchMatMulDescriptor for the BatchMatMul operator.
+
A SpaceToBatchNdDescriptor for the SpaceToBatchNdLayer.
+
bool IsQuantizedLstmSupported(const TensorInfo &input, const TensorInfo &cellStateIn, const TensorInfo &outputStateIn, const TensorInfo &cellStateOut, const TensorInfo &outputStateOut, const QuantizedLstmInputParamsInfo &paramsInfo, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A Convolution3dDescriptor for the Convolution3dLayer.
+
Base class for all descriptors.
Definition: Descriptors.hpp:22
+
bool IsConcatSupported(const std::vector< const TensorInfo * > inputs, const TensorInfo &output, const OriginsDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsFullyConnectedSupported(const TensorInfo &input, const TensorInfo &output, const TensorInfo &weights, const TensorInfo &biases, const FullyConnectedDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsElementwiseUnarySupported(const TensorInfo &input, const TensorInfo &output, const ElementwiseUnaryDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsDepthwiseConvolutionSupported(const TensorInfo &input, const TensorInfo &output, const DepthwiseConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsFillSupported(const TensorInfo &input, const TensorInfo &output, const FillDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+ +
A BatchToSpaceNdDescriptor for the BatchToSpaceNdLayer.
+
A Convolution2dDescriptor for the Convolution2dLayer.
+
A ComparisonDescriptor for the ComparisonLayer.
Definition: Descriptors.hpp:89
+
A FillDescriptor for the FillLayer.
+
bool IsChannelShuffleSupported(const TensorInfo &input, const TensorInfo &output, const ChannelShuffleDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
An LstmDescriptor for the LstmLayer.
+
A StridedSliceDescriptor for the StridedSliceLayer.
+
bool IsL2NormalizationSupported(const TensorInfo &input, const TensorInfo &output, const L2NormalizationDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsArgMinMaxSupported(const TensorInfo &input, const TensorInfo &output, const ArgMinMaxDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsInstanceNormalizationSupported(const TensorInfo &input, const TensorInfo &output, const InstanceNormalizationDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A LogicalBinaryDescriptor for the LogicalBinaryLayer.
+
bool IsTransposeConvolution2dSupported(const TensorInfo &input, const TensorInfo &output, const TransposeConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsCastSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsFloorSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsConvolution3dSupported(const TensorInfo &input, const TensorInfo &output, const Convolution3dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsInputSupported(const TensorInfo &input, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsMeanSupported(const TensorInfo &input, const TensorInfo &output, const MeanDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsGatherSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const GatherDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported) const
+
An OriginsDescriptor for the ConcatLayer.
+
Copyright (c) 2021 ARM Limited and Contributors.
+
A ElementwiseUnaryDescriptor for the ElementwiseUnaryLayer.
+
A TransposeConvolution2dDescriptor for the TransposeConvolution2dLayer.
+ + +
bool IsConvertFp16ToFp32Supported(const TensorInfo &input, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsDivisionSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsDilatedDepthwiseConvolutionSupported(const TensorInfo &input, const TensorInfo &output, const DepthwiseConvolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string & > reason=EmptyOptional()) const
+
bool IsMaximumSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsComparisonSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, const ComparisonDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A Pooling2dDescriptor for the Pooling2dLayer.
+
A DepthwiseConvolution2dDescriptor for the DepthwiseConvolution2dLayer.
+
bool IsUnidirectionalSequenceLstmSupported(const TensorInfo &input, const TensorInfo &outputStateIn, const TensorInfo &cellStateIn, const TensorInfo &outputStateOut, const TensorInfo &cellStateOut, const TensorInfo &output, const UnidirectionalSequenceLstmDescriptor &descriptor, const LstmInputParamsInfo &paramsInfo, Optional< std::string & > reasonIfUnsupported) const
+
A ReduceDescriptor for the REDUCE operators.
+
bool IsQLstmSupported(const TensorInfo &input, const TensorInfo &previousOutputIn, const TensorInfo &previousCellStateIn, const TensorInfo &outputStateOut, const TensorInfo &cellStateOut, const TensorInfo &output, const QLstmDescriptor &descriptor, const LstmInputParamsInfo &paramsInfo, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsActivationSupported(const TensorInfo &input, const TensorInfo &output, const ActivationDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
bool IsSplitterSupported(const TensorInfo &input, const std::vector< std::reference_wrapper< TensorInfo >> &outputs, const ViewsDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.
Definition: Types.hpp:483
+
bool IsLogSoftmaxSupported(const TensorInfo &input, const TensorInfo &output, const LogSoftmaxDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A MeanDescriptor for the MeanLayer.
+ +
bool IsStridedSliceSupported(const TensorInfo &input, const TensorInfo &output, const StridedSliceDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
A SoftmaxDescriptor for the SoftmaxLayer.
+
bool IsLstmSupported(const TensorInfo &input, const TensorInfo &outputStateIn, const TensorInfo &cellStateIn, const TensorInfo &scratchBuffer, const TensorInfo &outputStateOut, const TensorInfo &cellStateOut, const TensorInfo &output, const LstmDescriptor &descriptor, const LstmInputParamsInfo &paramsInfo, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+
std::shared_ptr< IBackendModelContext > IBackendSpecificModelContextPtr
+
A SpaceToDepthDescriptor for the SpaceToDepthLayer.
+
bool IsPooling2dSupported(const TensorInfo &input, const TensorInfo &output, const Pooling2dDescriptor &descriptor, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+ +
bool IsConvolution2dSupported(const TensorInfo &input, const TensorInfo &output, const Convolution2dDescriptor &descriptor, const TensorInfo &weights, const Optional< TensorInfo > &biases, Optional< std::string & > reasonIfUnsupported=EmptyOptional()) const
+ + + + -- cgit v1.2.1