1# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements.  See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership.  The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License.  You may obtain a copy of the License at
8#
9#   http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied.  See the License for the
15# specific language governing permissions and limitations
16# under the License.
17"""The attributes node used for Relay operators"""
18
19from ...attrs import Attrs
20from ..base import register_relay_attr_node
21
22@register_relay_attr_node
23class Conv2DAttrs(Attrs):
24    """Attributes for nn.conv2d"""
25
26
27@register_relay_attr_node
28class Conv2DWinogradAttrs(Attrs):
29    """Attributes for nn.contrib_conv2d_winograd_without_weight_transform"""
30
31
32@register_relay_attr_node
33class Conv2DWinogradWeightTransformAttrs(Attrs):
34    """Attributes for nn.contrib_conv2d_winograd_weight_transform"""
35
36
37@register_relay_attr_node
38class Conv2DWinogradNNPACKWeightTransformAttrs(Attrs):
39    """Attributes for nn.contrib_conv2d_winograd_nnpack_weight_transform"""
40
41
42@register_relay_attr_node
43class GlobalPool2DAttrs(Attrs):
44    """Attributes for nn.global_pool"""
45
46
47@register_relay_attr_node
48class BiasAddAttrs(Attrs):
49    """Atttribute of nn.bias_add"""
50
51
52@register_relay_attr_node
53class DenseAttrs(Attrs):
54    """Attributes for nn.dense"""
55
56
57@register_relay_attr_node
58class FIFOBufferAttrs(Attrs):
59    """Attributes for nn.fifo_buffer"""
60
61
62@register_relay_attr_node
63class UpSamplingAttrs(Attrs):
64    """Attributes for nn.upsampling"""
65
66@register_relay_attr_node
67class PadAttrs(Attrs):
68    """Attributes for nn.pad"""
69
70@register_relay_attr_node
71class MirrorPadAttrs(Attrs):
72    """Attributes for nn.mirror_pad"""
73
74@register_relay_attr_node
75class LeakyReluAttrs(Attrs):
76    """Attributes for nn.leaky_relu"""
77
78
79@register_relay_attr_node
80class PReluAttrs(Attrs):
81    """Attributes for nn.prelu"""
82
83
84@register_relay_attr_node
85class DropoutAttrs(Attrs):
86    """Attributes for nn.dropout"""
87
88
89@register_relay_attr_node
90class BatchNormAttrs(Attrs):
91    """Attributes for nn.batch_norm"""
92
93
94@register_relay_attr_node
95class LRNAttrs(Attrs):
96    """Attributes for nn.lrn"""
97
98
99@register_relay_attr_node
100class L2NormalizeAttrs(Attrs):
101    """Attributes for nn.l2_normalize"""
102
103
104@register_relay_attr_node
105class DeformableConv2DAttrs(Attrs):
106    """Attributes for nn.deformable_conv2d"""
107
108
109@register_relay_attr_node
110class ResizeAttrs(Attrs):
111    """Attributes for image.resize"""
112
113
114@register_relay_attr_node
115class ArgsortAttrs(Attrs):
116    """Attributes for algorithm.argsort"""
117
118
119@register_relay_attr_node
120class OnDeviceAttrs(Attrs):
121    """Attributes for annotation.on_device"""
122
123
124@register_relay_attr_node
125class DebugAttrs(Attrs):
126    """Attributes for debug"""
127
128
129@register_relay_attr_node
130class DeviceCopyAttrs(Attrs):
131    """Attributes for tensor.device_copy"""
132
133
134@register_relay_attr_node
135class CastAttrs(Attrs):
136    """Attributes for transform.cast"""
137
138
139@register_relay_attr_node
140class ConcatenateAttrs(Attrs):
141    """Attributes for tensor.concatenate"""
142
143
144@register_relay_attr_node
145class TransposeAttrs(Attrs):
146    """Attributes for transform.transpose"""
147
148
149@register_relay_attr_node
150class ReshapeAttrs(Attrs):
151    """Attributes for transform.reshape"""
152
153
154@register_relay_attr_node
155class TakeAttrs(Attrs):
156    """Attributes for transform.take"""
157
158
159@register_relay_attr_node
160class InitOpAttrs(Attrs):
161    """Attributes for ops specifying a tensor"""
162
163
164@register_relay_attr_node
165class ArangeAttrs(Attrs):
166    """Attributes used in arange operators"""
167
168
169@register_relay_attr_node
170class StackAttrs(Attrs):
171    """Attributes used in stack operators"""
172
173
174@register_relay_attr_node
175class RepeatAttrs(Attrs):
176    """Attributes used in repeat operators"""
177
178
179@register_relay_attr_node
180class TileAttrs(Attrs):
181    """Attributes used in tile operators"""
182
183
184@register_relay_attr_node
185class ReverseAttrs(Attrs):
186    """Attributes used in reverse operators"""
187
188
189@register_relay_attr_node
190class SqueezeAttrs(Attrs):
191    """Attributes used in squeeze operators"""
192
193
194@register_relay_attr_node
195class SplitAttrs(Attrs):
196    """Attributes for transform.split"""
197
198
199@register_relay_attr_node
200class StridedSliceAttrs(Attrs):
201    """Attributes for transform.stranded_slice"""
202
203
204@register_relay_attr_node
205class SliceLikeAttrs(Attrs):
206    """Attributes for transform.slice_like"""
207
208
209@register_relay_attr_node
210class ClipAttrs(Attrs):
211    """Attributes for transform.clip"""
212
213
214@register_relay_attr_node
215class LayoutTransformAttrs(Attrs):
216    """Attributes for transform.layout_transform"""
217
218
219@register_relay_attr_node
220class ShapeOfAttrs(Attrs):
221    """Attributes for tensor.shape_of"""
222
223
224@register_relay_attr_node
225class MultiBoxPriorAttrs(Attrs):
226    """Attributes for vision.multibox_prior"""
227
228
229@register_relay_attr_node
230class MultiBoxTransformLocAttrs(Attrs):
231    """Attributes for vision.multibox_transform_loc"""
232
233
234@register_relay_attr_node
235class GetValidCountsAttrs(Attrs):
236    """Attributes for vision.get_valid_counts"""
237
238
239@register_relay_attr_node
240class NonMaximumSuppressionAttrs(Attrs):
241    """Attributes for vision.non_maximum_suppression"""
242
243
244@register_relay_attr_node
245class ROIAlignAttrs(Attrs):
246    """Attributes for vision.roi_align"""
247
248
249@register_relay_attr_node
250class ROIPoolAttrs(Attrs):
251    """Attributes for vision.roi_pool"""
252
253
254@register_relay_attr_node
255class YoloReorgAttrs(Attrs):
256    """Attributes for vision.yolo_reorg"""
257
258
259@register_relay_attr_node
260class ProposalAttrs(Attrs):
261    """Attributes used in proposal operators"""
262
263
264@register_relay_attr_node
265class MaxPool2DAttrs(Attrs):
266    """Attributes used in max_pool2d operators"""
267
268
269@register_relay_attr_node
270class AvgPool2DAttrs(Attrs):
271    """Attributes used in avg_pool2d operators"""
272
273
274@register_relay_attr_node
275class BitPackAttrs(Attrs):
276    """Attributes used in bitpack operator"""
277
278
279@register_relay_attr_node
280class BinaryConv2DAttrs(Attrs):
281    """Attributes used in bitserial conv2d operators"""
282
283
284@register_relay_attr_node
285class BinaryDenseAttrs(Attrs):
286    """Attributes used in bitserial dense operators"""
287
288
289@register_relay_attr_node
290class Conv2DTransposeAttrs(Attrs):
291    """Attributes used in Transposed Conv2D operators"""
292