24 #ifndef TVM_RELAY_ATTRS_TRANSFORM_H_ 25 #define TVM_RELAY_ATTRS_TRANSFORM_H_ 44 "What axis the sliding window begin forming over." 45 "Window will be slid over this axis and all following axes." 46 "The axis value determines the window shape (and thus, the" 48 "window shape and strides must both be of length" 52 "The window shape to form over the input." 53 "Window shape must be of length `data.ndim-axis`.");
55 "How to stride the window along each dimension." 56 "Strides must be of length `data.ndim-axis`.");
76 "The axis at which the input array is expanded." 77 "Should lie in range `[-data.ndim - 1, data.ndim]`." 78 "If `axis < 0`, it is the first axis inserted;" 79 "If `axis >= 0`, it is the last axis inserted in Python's negative indexing.");
81 .describe(
"Number of axes to be inserted. Should be >= 0.")
93 .describe(
"Number of axes to be inserted. Should be >= 0.")
105 "The axis at which the input arrays are concatenated." 106 "Should lie in range `[-ndim, ndim)`.")
115 TVM_ATTR_FIELD(axes).describe(
"The target axes order, reverse order if not specified.");
125 "The new shape. Should be compatible with the original shape.");
127 "Whether to honor the value of zero in newshape.");
139 "The axis of the input where reshaping should begin.");
141 .set_default(NullValue<Integer>())
142 .describe(
"The axis of the input where reshaping should end, exclusive.");
144 "The axis of the shape_like tensor to begin taking dimensions from.");
146 .set_default(NullValue<Integer>())
147 .describe(
"The axis of the shape_like tensor to end taking dimensions from, exclusive.");
155 TVM_ATTR_FIELD(axis).set_default(0).describe(
"The axis over which to select values.");
163 TVM_ATTR_FIELD(axis).set_default(0).describe(
"The axis over which to select values.");
172 "Accumulation mode of the scatter, either \"update\" or \"add\".");
181 .set_default(NullValue<Integer>())
182 .describe(
"The axis over which to select values.");
193 .set_default(NullValue<Integer>())
195 "The size of an indexing tuple, which is a fixed value. Only needed when the number of " 196 "indexting tuples is dynamic.");
208 .describe(
"The batch_dims over which to select values.");
210 .set_default(NullValue<Integer>())
211 .describe(
"The axis over which to select values.");
213 "Specify how out-of-bound indices will behave." 214 "clip - clip to the range (default)" 215 "wrap - wrap around the indices" 216 "fast - no clip or wrap around (user must make sure indices are in-bound)");
239 TVM_ATTR_FIELD(start).describe(
"Start of interval. The interval includes this value.");
240 TVM_ATTR_FIELD(stop).describe(
"Stop of interval. The interval does not include this value.");
253 "Indexing mode, either \"ij\" for matrix or \"xy\" for cartesian in which first two" 254 "dimensions are swapped.")
264 "The axis in the result array along which the input arrays are stacked.");
273 TVM_ATTR_FIELD(repeats).describe(
"The number of repetitions for each element.");
275 .set_default(NullValue<Integer>())
276 .describe(
" The axis along which to repeat values.");
285 "The number of times for repeating the tensor a." 286 "Each dim sizeof reps must be a positive integer.");
295 .set_default(NullValue<Integer>())
296 .describe(
"The axis along which to reverse elements.");
307 "The seq axis along which to reverse elements.");
310 .describe(
"The batch axis along which to slice the tensor.");
322 "The axis to squeeze in the input tensor." 323 "If `axis = None`, all axis of dimension 1 get squeezed;" 324 "Else, the dimension in axes get squeezed." 325 "It is an error if an axis does not has dimension 1.")
337 "Indices or sections to split into. Accepts an int or a tuple" 338 "If indices_or_sections is an integer, the input will be divided equally" 339 "along given axis. If such a split is not possible, an error is raised." 340 "If indices_or_sections is a tuple of sorted integers," 341 "the entries indicate where along axis the array is split.");
342 TVM_ATTR_FIELD(axis).set_default(0).describe(
"the axis to be splitted.");
355 TVM_ATTR_FIELD(begin).describe(
"Indices for begin of slice, begin index is also inclusive");
356 TVM_ATTR_FIELD(end).describe(
"Indices for end of slice, end index is exclusive");
358 "Stride values of the slice, a stride can be negative, which causes a reverse slice.");
362 "The slice mode [end, size]." 363 "end - The default slice mode, ending indices for the slice." 364 "size - The input strides will be ignored, input end in this mode indicates the size" 365 "of a slice starting at the location specified by begin. If end[i] is -1," 366 "all remaining elements in that dimension are included in the slice");
368 "Axes along which slicing is applied. When it is specified, the length of begin, end, " 369 "strides, and axes must be equal.");
378 "List of axes on which input data will be sliced according to the " 379 "corresponding size of the second input. By default will slice " 380 "on all axes. Negative axes mean counting in reverse.");
402 .describe(
"Multiplier of a fixed floating point number described as multiplier*2^(shift)");
404 "Shift of a fixed floating point number described as multiplier*2^(shift)");
416 .describe(
"Whether left shift is required in fixed point multiplication.")
419 .describe(
"Whether right shift is required in fixed point multiplication.")
421 TVM_ATTR_FIELD(axes).describe(
"List of axes on which input data was quantized.");
431 TVM_ATTR_FIELD(src_layout).describe(
"The source layout of the tensor. (e.g. NCHW)");
432 TVM_ATTR_FIELD(dst_layout).describe(
"The destination layout of the tensor. (e.g. NCHW16c)");
443 "relay.attrs.AutoSchedulerLayoutTransformAttrs") {
444 TVM_ATTR_FIELD(src_layout).describe(
"The source layout of the tensor. (e.g. 1N32C112H112W)");
446 .describe(
"The destination layout of the tensor. (e.g. 1N2C112H112W16c)");
455 "relay.attrs.MetaScheduleLayoutTransformAttrs") {
457 "The order of the extents, for example, " 458 "let extents = [2, 3, 4], reorder = [0, 2, 1], and the shape of buffer A is (4, 6)" 459 "then A[i, j] will be first rewritten to " 460 "A[(6 * i + j) / 12, (6 * i + j) / 4 % 3 , (6 * i + j) % 4] according to the `extents`," 461 "and then reordered to A[(6 * i + j) / 12, (6 * i + j) % 4 , (6 * i + j) / 4 % 3]" 462 "according to `reorder`");
480 TVM_ATTR_FIELD(mask_value).set_default(0).describe(
"The masking value.");
482 "The axis of the length dimension. Can only be 0 or 1.");
491 TVM_ATTR_FIELD(output_shape).describe(
"Shape of the dense output tensor");
511 TVM_ATTR_FIELD(depth).set_default(1).describe(
"Depth of the one hot dimension.");
525 TVM_ATTR_FIELD(k1).set_default(0).describe(
"Lower limit (included) of the range of diagonals.");
526 TVM_ATTR_FIELD(k2).set_default(0).describe(
"Upper limit (included) of the range of diagonals.");
529 .describe(
"Bool, true iff super-diagonal is right aligned (left-padded).");
532 .describe(
"Bool, true iff sub-diagonal is right aligned (left-padded).");
542 TVM_ATTR_FIELD(axis).describe(
"The axis to operate over").set_default(NullValue<Integer>());
547 .describe(
"The first element is not included")
548 .set_default(
Bool(
false));
557 TVM_ATTR_FIELD(sorted).describe(
"Whether the unique elements are sorted").set_default(
true);
559 .describe(
"Whether to return an additional tensor with counts of each unique elements")
569 TVM_ATTR_FIELD(equation).describe(
"The einsum expression string");
582 TVM_ATTR_FIELD(n_fft).set_default(-1).describe(
"The size of Fourier transform");
585 .describe(
"The distance between neighboring sliding window frames");
586 TVM_ATTR_FIELD(win_length).set_default(-1).describe(
"The size of window frame and STFT filter");
589 .describe(
"Whether to return the normalized STFT results");
591 "Whether to return onesided result or fill with conjugate symmetry");
600 "Whether to keep the upper or lower half of the diagonal.");
606 #endif // TVM_RELAY_ATTRS_TRANSFORM_H_ DataType dtype
Definition: transform.h:223
int rhs_begin
Definition: transform.h:135
Attributes used in stft operator.
Definition: transform.h:574
double a_max
Definition: transform.h:387
TVM_DECLARE_ATTRS(ReshapeLikeAttrs, "relay.attrs.ReshapeLikeAttrs")
Definition: transform.h:137
Integer axis
Definition: transform.h:292
TVM_DECLARE_ATTRS(StridedSliceAttrs, "relay.attrs.StridedSliceAttrs")
Definition: transform.h:354
Array< Integer > axes
Definition: transform.h:374
int lhs_begin
Definition: transform.h:133
TVM_DECLARE_ATTRS(MatrixSetDiagAttrs, "relay.attrs.MatrixSetDiagAttrs")
Definition: transform.h:524
data type cast
Definition: transform.h:61
Boolean constant.
Definition: expr.h:585
Attributes for FixedPointMultiply operator.
Definition: transform.h:396
int axis
Definition: transform.h:71
bool allowzero
Definition: transform.h:122
TVM_DECLARE_ATTRS(NdarraySizeAttrs, "relay.attrs.NdarraySizeAttrs")
Definition: transform.h:499
TVM_DECLARE_ATTRS(ReshapeAttrs, "relay.attrs.ReshapeAttrs")
Definition: transform.h:123
TVM_DECLARE_ATTRS(ExpandDimsAttrs, "relay.attrs.ExpandDimsAttrs")
Definition: transform.h:74
int axis
Definition: transform.h:507
Attributes used in expand_dims operators.
Definition: transform.h:70
Relay expression language.
Attributes used in matrix_set_diag operator.
Definition: transform.h:518
runtime implementation for LibTorch/TorchScript.
Definition: analyzer.h:36
Array< Integer > axes
Definition: transform.h:113
TVM_DECLARE_ATTRS(DynExpandDimsAttrs, "relay.attrs.DynExpandDimsAttrs")
Definition: transform.h:91
Attributes used in unique operator.
Definition: transform.h:553
DataType dtype
Definition: transform.h:508
int axis
Definition: transform.h:332
DataType dtype
Definition: transform.h:62
TVM_DECLARE_ATTRS(ShapeOfAttrs, "relay.attrs.ShapeOfAttrs")
Definition: transform.h:470
Attributes that specify a tensor.
Definition: transform.h:221
int axis
Definition: transform.h:477
Integer repeats
Definition: transform.h:270
Definition: transform.h:151
TVM_DECLARE_ATTRS(StackAttrs, "relay.attrs.StackAttrs")
Definition: transform.h:262
Array< Integer > newshape
Definition: transform.h:121
Definition: transform.h:186
Attributes used in transpose operators.
Definition: transform.h:112
Attributes used in one-hot operator.
Definition: transform.h:505
int32_t multiplier
Definition: transform.h:397
TVM_DECLARE_ATTRS(ConcatenateAttrs, "relay.attrs.ConcatenateAttrs")
Definition: transform.h:102
Definition: transform.h:176
Attributes for Clip operator.
Definition: transform.h:385
Definition: transform.h:159
int num_newaxis
Definition: transform.h:72
TVM_DECLARE_ATTRS(TileAttrs, "relay.attrs.TileAttrs")
Definition: transform.h:283
Attributes for StridedSlice operator.
Definition: transform.h:347
Optional< Array< Integer > > begin
Definition: transform.h:348
TVM_DECLARE_ATTRS(ClipAttrs, "relay.attrs.ClipAttrs")
Definition: transform.h:389
TVM_DECLARE_ATTRS(UniqueAttrs, "relay.attrs.UniqueAttrs")
Definition: transform.h:556
Helpers for attribute objects.
ObjectRef indices_or_sections
Definition: transform.h:331
Integer batch_dims
Definition: transform.h:187
Definition: transform.h:373
tvm::String slice_mode
Definition: transform.h:351
Optional< Array< Integer > > shape
Definition: transform.h:222
Attributes used in MXNet-style reshape_like operators.
Definition: transform.h:132
Defines a remapping of buffer indices.
Attributes used in dynamic expand_dims operators.
Definition: transform.h:88
TVM_DECLARE_ATTRS(SequenceMaskAttrs, "relay.attrs.SequenceMaskAttrs")
Definition: transform.h:479
Array< Integer > window_shape
Definition: transform.h:40
Expr start
Definition: transform.h:233
TVM_DECLARE_ATTRS(EinsumAttrs, "relay.attrs.EinsumAttrs")
Definition: transform.h:568
Attributes used in einsum operator.
Definition: transform.h:565
String equation
Definition: transform.h:566
Attributes used in cumsum and cumprod operator.
Definition: transform.h:537
TVM_DECLARE_ATTRS(SparseToDenseAttrs, "relay.attrs.SparseToDenseAttrs")
Definition: transform.h:490
Integer batch_dims
Definition: transform.h:201
tvm::String mode
Definition: transform.h:203
Runtime primitive data type.
Definition: data_type.h:41
Attributes used in arange operators.
Definition: transform.h:232
TVM_DECLARE_ATTRS(GatherNDAttrs, "relay.attrs.GatherNDAttrs")
Definition: transform.h:190
Array, container representing a contiguous sequence of ObjectRefs.
Definition: array.h:289
Definition: index_map.h:175
Attributes used in reverse operators.
Definition: transform.h:291
TVM_DECLARE_ATTRS(ScatterAttrs, "relay.attrs.ScatterAttrs")
Definition: transform.h:154
Definition: transform.h:330
int axis
Definition: transform.h:39
TVM_DECLARE_ATTRS(ReverseAttrs, "relay.attrs.ReverseAttrs")
Definition: transform.h:293
double a_min
Definition: transform.h:386
int depth
Definition: transform.h:506
Attributes used in meshgrid operators.
Definition: transform.h:247
DataType dtype
Definition: transform.h:539
TVM_DECLARE_ATTRS(GatherAttrs, "relay.attrs.GatherAttrs")
Definition: transform.h:179
#define TVM_ATTR_FIELD(FieldName)
Declare an attribute field.
Definition: attrs.h:76
TVM_DECLARE_ATTRS(ArangeAttrs, "relay.attrs.ArangeAttrs")
Definition: transform.h:238
Attributes used in tile operators.
Definition: transform.h:281
DataType dtype
Definition: transform.h:236
bool sorted
Definition: transform.h:554
Reference to string objects.
Definition: string.h:97
Definition: transform.h:595
String mode
Definition: transform.h:168
TVM_DECLARE_ATTRS(InitOpAttrs, "relay.attrs.InitOpAttrs")
Definition: transform.h:225
TVM_DECLARE_ATTRS(ScatterAddAttrs, "relay.attrs.ScatterAddAttrs")
Definition: transform.h:162
Managed reference to RelayExprNode.
Definition: expr.h:431
Expr stop
Definition: transform.h:234
Array< Integer > strides
Definition: transform.h:41
Integer lhs_end
Definition: transform.h:134
TVM_DECLARE_ATTRS(SqueezeAttrs, "relay.attrs.SqueezeAttrs")
Definition: transform.h:319
TVM_DECLARE_ATTRS(SliceLikeAttrs, "relay.attrs.SliceLikeAttrs")
Definition: transform.h:376
Integer axis
Definition: transform.h:538
Array< Integer > reps
Definition: transform.h:282
bool normalized
Definition: transform.h:578
Integer seq_axis
Definition: transform.h:302
TVM_DECLARE_ATTRS(ScatterNDAttrs, "relay.attrs.ScatterNDAttrs")
Definition: transform.h:170
bool super_diag_right_align
Definition: transform.h:521
bool return_counts
Definition: transform.h:555
TVM_DECLARE_ATTRS(StftAttrs, "relay.attrs.StftAttrs")
Definition: transform.h:581
Base class of all object reference.
Definition: object.h:511
DataType NullValue< DataType >()
Definition: attrs.h:90
bool is_rshift_required
Definition: transform.h:411
Integer axis
Definition: transform.h:152
TVM_DECLARE_ATTRS(CastAttrs, "relay.attrs.CastAttrs")
Definition: transform.h:64
Attributes used in sparse_to_dense operator.
Definition: transform.h:487
std::string indexing
Definition: transform.h:248
int num_newaxis
Definition: transform.h:89
TVM_DECLARE_ATTRS(SlidingWindowAttrs, "relay.attrs.SlidingWindowAttrs")
Definition: transform.h:42
TVM_DECLARE_ATTRS(TransposeAttrs, "relay.attrs.TransposeAttrs")
Definition: transform.h:114
bool onesided
Definition: transform.h:579
TVM_DECLARE_ATTRS(SplitAttrs, "relay.attrs.SplitAttrs")
Definition: transform.h:334
Attributes for ndarray_size operator.
Definition: transform.h:496
Optional< Array< Integer > > axes
Definition: transform.h:352
Definition: transform.h:167
TVM_DECLARE_ATTRS(MeshgridAttrs, "relay.attrs.MeshgridAttrs")
Definition: transform.h:250
Attributes used in stack operators.
Definition: transform.h:260
int32_t shift
Definition: transform.h:398
Attributes for per channel/per axes FixedPointMultiply operator.
Definition: transform.h:409
Definition: transform.h:200
Attributes used for the sliding_window operator.
Definition: transform.h:38
double mask_value
Definition: transform.h:476
DataType dtype
Definition: transform.h:497
The base class of the all the Use "curiously recurring template pattern".
Definition: attrs.h:834
DataType dtype
Definition: transform.h:468
bool sub_diag_right_align
Definition: transform.h:522
TVM_DECLARE_ATTRS(ReverseSequenceAttrs, "relay.attrs.ReverseSequenceAttrs")
Definition: transform.h:305
int k1
Definition: transform.h:519
Expr step
Definition: transform.h:235
Attributes used in repeat operators.
Definition: transform.h:269
Optional< Array< Integer > > strides
Definition: transform.h:350
Attributes used in squeeze operators.
Definition: transform.h:315
bool is_lshift_required
Definition: transform.h:410
Base classes for the Relay IR.
Optional container that to represent to a Nullable variant of T.
Definition: optional.h:51
Array< Integer > axis
Definition: transform.h:317
int hop_length
Definition: transform.h:576
Array< Integer > axes
Definition: transform.h:412
TVM_DECLARE_ATTRS(RepeatAttrs, "relay.attrs.RepeatAttrs")
Definition: transform.h:272
int axis
Definition: transform.h:101
TObjectRef NullValue()
Create a NodeRef type that represents null.
Definition: attrs.h:84
TVM_DECLARE_ATTRS(TakeAttrs, "relay.attrs.TakeAttrs")
Definition: transform.h:205
Definition: transform.h:475
int win_length
Definition: transform.h:577
Integer rhs_end
Definition: transform.h:136
bool upper
Definition: transform.h:596
int n_fft
Definition: transform.h:575
Attributes used in reverse_sequence operators.
Definition: transform.h:301
Attributes used in reshape operators.
Definition: transform.h:120
Optional< Integer > index_rank
Definition: transform.h:188
TVM_DECLARE_ATTRS(OneHotAttrs, "relay.attrs.OneHotAttrs")
Definition: transform.h:510
Integer axis
Definition: transform.h:160
Attributes for ShapeOf operator.
Definition: transform.h:467
Integer axis
Definition: transform.h:177
TVM_DECLARE_ATTRS(ScanopAttrs, "relay.attrs.ScanopAttrs")
Definition: transform.h:541
Array< Integer > output_shape
Definition: transform.h:488
Optional< Array< Integer > > end
Definition: transform.h:349
Integer axis
Definition: transform.h:271
Integer axis
Definition: transform.h:261
TVM_DECLARE_ATTRS(FixedPointMultiplyAttrs, "relay.attrs.FixedPointMultiplyAttrs")
Definition: transform.h:400
int k2
Definition: transform.h:520
Attributes used in concatenate operators.
Definition: transform.h:100
TVM_DECLARE_ATTRS(FixedPointMultiplyPerAxisAttrs, "relay.attrs.FixedPointMultiplyPerAxisAttrs")
Definition: transform.h:414
Integer batch_axis
Definition: transform.h:303
TVM_DECLARE_ATTRS(TriluAttrs, "relay.attrs.TriluAttrs")
Definition: transform.h:598
Container of constant int that adds more constructors.
Definition: expr.h:620
Integer axis
Definition: transform.h:202