gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
/// <amd-module name="@tensorflow/tfjs-core/dist/kernel_names" />
/**
 * @license
 * Copyright 2020 Google LLC. All Rights Reserved.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * =============================================================================
 */
import { NamedTensorInfoMap } from './kernel_registry';
import { ExplicitPadding } from './ops/conv_util';
import { Activation } from './ops/fused_types';
import { TensorInfo } from './tensor_info';
import { DataType, DrawOptions, PixelData } from './types';
export declare const Abs = "Abs";
export type AbsInputs = UnaryInputs;
export declare const Acos = "Acos";
export type AcosInputs = UnaryInputs;
export declare const Acosh = "Acosh";
export type AcoshInputs = UnaryInputs;
export declare const Add = "Add";
export type AddInputs = BinaryInputs;
export declare const AddN = "AddN";
export type AddNInputs = TensorInfo[];
export declare const All = "All";
export type AllInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface AllAttrs {
    axis: number | number[];
    keepDims: boolean;
}
export declare const Any = "Any";
export type AnyInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface AnyAttrs {
    axis: number | number[];
    keepDims: boolean;
}
export declare const ArgMax = "ArgMax";
export type ArgMaxInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface ArgMaxAttrs {
    axis: number;
}
export declare const ArgMin = "ArgMin";
export type ArgMinInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface ArgMinAttrs {
    axis: number;
}
export declare const Asin = "Asin";
export type AsinInputs = UnaryInputs;
export declare const Asinh = "Asinh";
export type AsinhInputs = UnaryInputs;
export declare const Atan = "Atan";
export type AtanInputs = UnaryInputs;
export declare const Atanh = "Atanh";
export type AtanhInputs = UnaryInputs;
export declare const Atan2 = "Atan2";
export type Atan2Inputs = BinaryInputs;
export declare const AvgPool = "AvgPool";
export type AvgPoolInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface AvgPoolAttrs {
    filterSize: [number, number] | number;
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const AvgPoolGrad = "AvgPoolGrad";
export type AvgPoolGradInputs = Pick<NamedTensorInfoMap, 'dy' | 'input'>;
export interface AvgPoolGradAttrs {
    filterSize: [number, number] | number;
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
}
export declare const AvgPool3D = "AvgPool3D";
export type AvgPool3DInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface AvgPool3DAttrs {
    filterSize: [number, number, number] | number;
    strides: [number, number, number] | number;
    pad: 'valid' | 'same' | number;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
    dataFormat: 'NDHWC' | 'NCDHW';
}
export declare const AvgPool3DGrad = "AvgPool3DGrad";
export type AvgPool3DGradInputs = Pick<NamedTensorInfoMap, 'dy' | 'input'>;
export interface AvgPool3DGradAttrs {
    filterSize: [number, number, number] | number;
    strides: [number, number, number] | number;
    pad: 'valid' | 'same' | number;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const BatchMatMul = "BatchMatMul";
export type BatchMatMulInputs = Pick<NamedTensorInfoMap, 'a' | 'b'>;
export interface BatchMatMulAttrs {
    transposeA: boolean;
    transposeB: boolean;
}
export declare const BatchToSpaceND = "BatchToSpaceND";
export type BatchToSpaceNDInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface BatchToSpaceNDAttrs {
    blockShape: number[];
    crops: number[][];
}
export type BinaryInputs = Pick<NamedTensorInfoMap, 'a' | 'b'>;
export declare const Bincount = "Bincount";
export type BincountInputs = Pick<NamedTensorInfoMap, 'x' | 'weights'>;
export interface BincountAttrs {
    size: number;
}
export declare const BitwiseAnd = "BitwiseAnd";
export type BitwiseAndInputs = BinaryInputs;
export declare const BroadcastTo = "BroadcastTo";
export type BroadcastToInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface BroadCastToAttrs {
    shape: number[];
    inputShape: number[];
}
export declare const BroadcastArgs = "BroadcastArgs";
export type BroadcastArgsInputs = Pick<NamedTensorInfoMap, 's0' | 's1'>;
export declare const Cast = "Cast";
export type CastInputs = UnaryInputs;
export interface CastAttrs {
    dtype: DataType;
}
export declare const Ceil = "Ceil";
export type CeilInputs = UnaryInputs;
export declare const ClipByValue = "ClipByValue";
export type ClipByValueInputs = UnaryInputs;
export interface ClipByValueAttrs {
    clipValueMin: number;
    clipValueMax: number;
}
export declare const Complex = "Complex";
export type ComplexInputs = Pick<NamedTensorInfoMap, 'real' | 'imag'>;
export declare const ComplexAbs = "ComplexAbs";
export type ComplexAbsInputs = UnaryInputs;
export declare const Concat = "Concat";
export type ConcatInputs = TensorInfo[];
export interface ConcatAttrs {
    axis: number;
}
export declare const Conv2D = "Conv2D";
export type Conv2DInputs = Pick<NamedTensorInfoMap, 'x' | 'filter'>;
export interface Conv2DAttrs {
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dataFormat: 'NHWC' | 'NCHW';
    dilations: [number, number] | number;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const Conv2DBackpropFilter = "Conv2DBackpropFilter";
export type Conv2DBackpropFilterInputs = Pick<NamedTensorInfoMap, 'x' | 'dy'>;
export interface Conv2DBackpropFilterAttrs {
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dataFormat: 'NHWC' | 'NCHW';
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
    filterShape: [number, number, number, number];
}
export declare const Conv2DBackpropInput = "Conv2DBackpropInput";
export type Conv2DBackpropInputInputs = Pick<NamedTensorInfoMap, 'dy' | 'filter'>;
export interface Conv2DBackpropInputAttrs {
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dataFormat: 'NHWC' | 'NCHW';
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
    inputShape: [number, number, number, number];
}
export declare const Conv3D = "Conv3D";
export type Conv3DInputs = Pick<NamedTensorInfoMap, 'x' | 'filter'>;
export interface Conv3DAttrs {
    strides: [number, number, number] | number;
    pad: 'valid' | 'same';
    dataFormat: 'NDHWC' | 'NCDHW';
    dilations: [number, number, number] | number;
}
export declare const Conv3DBackpropFilterV2 = "Conv3DBackpropFilterV2";
export type Conv3DBackpropFilterV2Inputs = Pick<NamedTensorInfoMap, 'x' | 'dy'>;
export interface Conv3DBackpropFilterV2Attrs {
    strides: [number, number, number] | number;
    pad: 'valid' | 'same';
    filterShape: [number, number, number, number, number];
}
export declare const Conv3DBackpropInputV2 = "Conv3DBackpropInputV2";
export type Conv3DBackpropInputV2Inputs = Pick<NamedTensorInfoMap, 'dy' | 'filter'>;
export interface Conv3DBackpropInputV2Attrs {
    strides: [number, number, number] | number;
    pad: 'valid' | 'same';
    inputShape: [number, number, number, number, number];
}
export declare const Cos = "Cos";
export type CosInputs = UnaryInputs;
export declare const Cosh = "Cosh";
export type CoshInputs = UnaryInputs;
export declare const Cumprod = "Cumprod";
export type CumprodInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface CumprodAttrs {
    axis: number;
    exclusive: boolean;
    reverse: boolean;
}
export declare const Cumsum = "Cumsum";
export type CumsumInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface CumsumAttrs {
    axis: number;
    exclusive: boolean;
    reverse: boolean;
}
export declare const CropAndResize = "CropAndResize";
export type CropAndResizeInputs = Pick<NamedTensorInfoMap, 'image' | 'boxes' | 'boxInd'>;
export interface CropAndResizeAttrs {
    cropSize: [number, number];
    method: 'bilinear' | 'nearest';
    extrapolationValue: number;
}
export declare const DenseBincount = "DenseBincount";
export type DenseBincountInputs = Pick<NamedTensorInfoMap, 'x' | 'weights'>;
export interface DenseBincountAttrs {
    size: number;
    binaryOutput?: boolean;
}
export declare const DepthToSpace = "DepthToSpace";
export type DepthToSpaceInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface DepthToSpaceAttrs {
    blockSize: number;
    dataFormat: 'NHWC' | 'NCHW';
}
export declare const DepthwiseConv2dNative = "DepthwiseConv2dNative";
export type DepthwiseConv2dNativeInputs = Pick<NamedTensorInfoMap, 'x' | 'filter'>;
export interface DepthwiseConv2dNativeAttrs {
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dataFormat: 'NHWC' | 'NCHW';
    dilations: [number, number] | number;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const DepthwiseConv2dNativeBackpropFilter = "DepthwiseConv2dNativeBackpropFilter";
export type DepthwiseConv2dNativeBackpropFilterInputs = Pick<NamedTensorInfoMap, 'x' | 'dy'>;
export interface DepthwiseConv2dNativeBackpropFilterAttrs {
    strides: [number, number] | number;
    dilations: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
    filterShape: [number, number, number, number];
}
export declare const DepthwiseConv2dNativeBackpropInput = "DepthwiseConv2dNativeBackpropInput";
export type DepthwiseConv2dNativeBackpropInputInputs = Pick<NamedTensorInfoMap, 'dy' | 'filter'>;
export interface DepthwiseConv2dNativeBackpropInputAttrs {
    strides: [number, number] | number;
    dilations: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
    inputShape: [number, number, number, number];
}
export declare const Diag = "Diag";
export type DiagInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const Dilation2D = "Dilation2D";
export type Dilation2DInputs = Pick<NamedTensorInfoMap, 'x' | 'filter'>;
export interface Dilation2DAttrs {
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number;
    dilations: [number, number] | number;
}
export declare const Dilation2DBackpropInput = "Dilation2DBackpropInput";
export type Dilation2DBackpropInputInputs = Pick<NamedTensorInfoMap, 'x' | 'filter' | 'dy'>;
export declare const Dilation2DBackpropFilter = "Dilation2DBackpropFilter";
export type Dilation2DBackpropFilterInputs = Pick<NamedTensorInfoMap, 'x' | 'filter' | 'dy'>;
export declare const Draw = "Draw";
export type DrawInputs = Pick<NamedTensorInfoMap, 'image'>;
export interface DrawAttrs {
    canvas: HTMLCanvasElement;
    options?: DrawOptions;
}
export declare const RealDiv = "RealDiv";
export type RealDivInputs = BinaryInputs;
export declare const Einsum = "Einsum";
export type EinsumInputs = TensorInfo[];
export interface EinsumAttrs {
    equation: string;
}
export declare const Elu = "Elu";
export type EluInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const EluGrad = "EluGrad";
export type EluGradInputs = Pick<NamedTensorInfoMap, 'dy' | 'y'>;
export declare const Erf = "Erf";
export type ErfInputs = UnaryInputs;
export declare const Equal = "Equal";
export type EqualInputs = BinaryInputs;
export declare const Exp = "Exp";
export type ExpInputs = UnaryInputs;
export declare const ExpandDims = "ExpandDims";
export type ExpandDimsInputs = Pick<NamedTensorInfoMap, 'input'>;
export interface ExpandDimsAttrs {
    dim: number;
}
export declare const Expm1 = "Expm1";
export type Expm1Inputs = UnaryInputs;
export declare const FFT = "FFT";
export type FFTInputs = Pick<NamedTensorInfoMap, 'input'>;
export declare const Fill = "Fill";
export interface FillAttrs {
    shape: number[];
    value: number | string;
    dtype: DataType;
}
export declare const FlipLeftRight = "FlipLeftRight";
export type FlipLeftRightInputs = Pick<NamedTensorInfoMap, 'image'>;
export declare const Floor = "Floor";
export type FloorInputs = UnaryInputs;
export declare const FloorDiv = "FloorDiv";
export type FloorDivInputs = BinaryInputs;
export declare const FusedBatchNorm = "FusedBatchNorm";
export type FusedBatchNormInputs = Pick<NamedTensorInfoMap, 'x' | 'scale' | 'offset' | 'mean' | 'variance'>;
export interface FusedBatchNormAttrs {
    varianceEpsilon: number;
}
export declare const GatherV2 = "GatherV2";
export type GatherV2Inputs = Pick<NamedTensorInfoMap, 'x' | 'indices'>;
export interface GatherV2Attrs {
    axis: number;
    batchDims: number;
}
export declare const GatherNd = "GatherNd";
export type GatherNdInputs = Pick<NamedTensorInfoMap, 'params' | 'indices'>;
export declare const Greater = "Greater";
export type GreaterInputs = BinaryInputs;
export declare const GreaterEqual = "GreaterEqual";
export type GreaterEqualInputs = BinaryInputs;
export declare const Identity = "Identity";
export type IdentityInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const IFFT = "IFFT";
export type IFFTInputs = Pick<NamedTensorInfoMap, 'input'>;
export declare const Imag = "Imag";
export type ImagInputs = Pick<NamedTensorInfoMap, 'input'>;
export declare const IsFinite = "IsFinite";
export type IsFiniteInputs = UnaryInputs;
export declare const IsInf = "IsInf";
export type IsInfInputs = UnaryInputs;
export declare const IsNan = "IsNan";
export type IsNanInputs = UnaryInputs;
export declare const LeakyRelu = "LeakyRelu";
export type LeakyReluInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface LeakyReluAttrs {
    alpha: number;
}
export declare const Less = "Less";
export type LessInputs = BinaryInputs;
export declare const LessEqual = "LessEqual";
export type LessEqualInputs = BinaryInputs;
export declare const LinSpace = "LinSpace";
export interface LinSpaceAttrs {
    start: number;
    stop: number;
    num: number;
}
export declare const Log = "Log";
export type LogInputs = UnaryInputs;
export declare const Log1p = "Log1p";
export type Log1pInputs = UnaryInputs;
export declare const LogicalAnd = "LogicalAnd";
export type LogicalAndInputs = BinaryInputs;
export declare const LogicalNot = "LogicalNot";
export type LogicalNotInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const LogicalOr = "LogicalOr";
export type LogicalOrInputs = BinaryInputs;
export declare const LogicalXor = "LogicalXor";
export type LogicalXorInputs = BinaryInputs;
export declare const LogSoftmax = "LogSoftmax";
export type LogSoftmaxInputs = Pick<NamedTensorInfoMap, 'logits'>;
export interface LogSoftmaxAttrs {
    axis: number;
}
export declare const LowerBound = "LowerBound";
export type LowerBoundInputs = Pick<NamedTensorInfoMap, 'sortedSequence' | 'values'>;
export declare const LRN = "LRN";
export type LRNInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface LRNAttrs {
    depthRadius: number;
    bias: number;
    alpha: number;
    beta: number;
}
export declare const LRNGrad = "LRNGrad";
export type LRNGradInputs = Pick<NamedTensorInfoMap, 'x' | 'y' | 'dy'>;
export interface LRNGradAttrs {
    depthRadius: number;
    bias: number;
    alpha: number;
    beta: number;
}
export declare const MatrixBandPart = "MatrixBandPart";
export type MatrixBandPartInputs = Pick<NamedTensorInfoMap, 'input' | 'numLower' | 'numUpper'>;
export interface MatrixBandPartAttrs {
}
export declare const Max = "Max";
export type MaxInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface MaxAttrs {
    reductionIndices: number | number[];
    keepDims: boolean;
}
export declare const Maximum = "Maximum";
export type MaximumInputs = BinaryInputs;
export declare const MaxPool = "MaxPool";
export type MaxPoolInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface MaxPoolAttrs {
    filterSize: [number, number] | number;
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const MaxPoolGrad = "MaxPoolGrad";
export type MaxPoolGradInputs = Pick<NamedTensorInfoMap, 'dy' | 'input' | 'output'>;
export interface MaxPoolGradAttrs {
    filterSize: [number, number] | number;
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const MaxPool3D = "MaxPool3D";
export type MaxPool3DInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface MaxPool3DAttrs {
    filterSize: [number, number, number] | number;
    strides: [number, number, number] | number;
    pad: 'valid' | 'same' | number;
    dataFormat: 'NDHWC' | 'NCDHW';
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const MaxPool3DGrad = "MaxPool3DGrad";
export type MaxPool3DGradInputs = Pick<NamedTensorInfoMap, 'dy' | 'input' | 'output'>;
export interface MaxPool3DGradAttrs {
    filterSize: [number, number, number] | number;
    strides: [number, number, number] | number;
    pad: 'valid' | 'same' | number;
    dimRoundingMode?: 'floor' | 'round' | 'ceil';
}
export declare const MaxPoolWithArgmax = "MaxPoolWithArgmax";
export type MaxPoolWithArgmaxInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface MaxPoolWithArgmaxAttrs {
    filterSize: [number, number] | number;
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number;
    includeBatchInIndex: boolean;
}
export declare const Mean = "Mean";
export type MeanInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface MeanAttrs {
    axis: number | number[];
    keepDims: boolean;
}
export declare const Min = "Min";
export type MinInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface MinAttrs {
    axis: number | number[];
    keepDims: boolean;
}
export declare const Minimum = "Minimum";
export type MinimumInputs = BinaryInputs;
export declare const MirrorPad = "MirrorPad";
export type MirrorPadInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface MirrorPadAttrs {
    paddings: Array<[number, number]>;
    mode: 'reflect' | 'symmetric';
}
export declare const Mod = "Mod";
export type ModInputs = BinaryInputs;
export declare const Multinomial = "Multinomial";
export type MultinomialInputs = Pick<NamedTensorInfoMap, 'logits'>;
export interface MultinomialAttrs {
    numSamples: number;
    seed: number;
    normalized: boolean;
}
export declare const Multiply = "Multiply";
export type MultiplyInputs = BinaryInputs;
export declare const Neg = "Neg";
export type NegInputs = UnaryInputs;
export declare const NotEqual = "NotEqual";
export type NotEqualInputs = BinaryInputs;
export declare const NonMaxSuppressionV3 = "NonMaxSuppressionV3";
export type NonMaxSuppressionV3Inputs = Pick<NamedTensorInfoMap, 'boxes' | 'scores'>;
export interface NonMaxSuppressionV3Attrs {
    maxOutputSize: number;
    iouThreshold: number;
    scoreThreshold: number;
}
export declare const NonMaxSuppressionV4 = "NonMaxSuppressionV4";
export type NonMaxSuppressionV4Inputs = Pick<NamedTensorInfoMap, 'boxes' | 'scores'>;
export interface NonMaxSuppressionV4Attrs {
    maxOutputSize: number;
    iouThreshold: number;
    scoreThreshold: number;
    padToMaxOutputSize: boolean;
}
export declare const NonMaxSuppressionV5 = "NonMaxSuppressionV5";
export type NonMaxSuppressionV5Inputs = Pick<NamedTensorInfoMap, 'boxes' | 'scores'>;
export interface NonMaxSuppressionV5Attrs {
    maxOutputSize: number;
    iouThreshold: number;
    scoreThreshold: number;
    softNmsSigma: number;
}
export declare const OnesLike = "OnesLike";
export type OnesLikeInputs = UnaryInputs;
export declare const OneHot = "OneHot";
export type OneHotInputs = Pick<NamedTensorInfoMap, 'indices'>;
export interface OneHotAttrs {
    depth: number;
    onValue: number;
    offValue: number;
    dtype: DataType;
}
export declare const Pack = "Pack";
export type PackInputs = TensorInfo[];
export interface PackAttrs {
    axis: number;
}
export declare const PadV2 = "PadV2";
export type PadV2Inputs = Pick<NamedTensorInfoMap, 'x'>;
export interface PadV2Attrs {
    paddings: Array<[number, number]>;
    constantValue: number;
}
export declare const Pool = "Pool";
export type PoolInputs = Pick<NamedTensorInfoMap, 'input'>;
export declare const Pow = "Pow";
export type PowInputs = BinaryInputs;
export declare const Prelu = "Prelu";
export type PreluInputs = Pick<NamedTensorInfoMap, 'x' | 'alpha'>;
export declare const Prod = "Prod";
export type ProdInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface ProdAttrs {
    axis: number | number[];
    keepDims: boolean;
}
export declare const RaggedGather = "RaggedGather";
export type RaggedGatherInputs = {
    paramsNestedSplits: TensorInfo[];
} & Pick<NamedTensorInfoMap, 'paramsDenseValues' | 'indices'>;
export interface RaggedGatherAttrs {
    outputRaggedRank: number;
}
export declare const RaggedRange = "RaggedRange";
export type RaggedRangeInputs = Pick<NamedTensorInfoMap, 'starts' | 'limits' | 'deltas'>;
export declare const RaggedTensorToTensor = "RaggedTensorToTensor";
export type RaggedTensorToTensorInputs = Pick<NamedTensorInfoMap, 'shape' | 'values' | 'defaultValue'> & {
    rowPartitionTensors: TensorInfo[];
};
export interface RaggedTensorToTensorAttrs {
    rowPartitionTypes: string[];
}
export declare const Range = "Range";
export interface RangeAttrs {
    start: number;
    stop: number;
    step: number;
    dtype: 'float32' | 'int32';
}
export declare const Real = "Real";
export type RealInputs = Pick<NamedTensorInfoMap, 'input'>;
export declare const Reciprocal = "Reciprocal";
export type ReciprocalInputs = UnaryInputs;
export declare const Relu = "Relu";
export type ReluInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const Reshape = "Reshape";
export type ReshapeInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface ReshapeAttrs {
    shape: number[];
}
export declare const ResizeNearestNeighbor = "ResizeNearestNeighbor";
export type ResizeNearestNeighborInputs = Pick<NamedTensorInfoMap, 'images'>;
export interface ResizeNearestNeighborAttrs {
    alignCorners: boolean;
    halfPixelCenters: boolean;
    size: [number, number];
}
export declare const ResizeNearestNeighborGrad = "ResizeNearestNeighborGrad";
export type ResizeNearestNeighborGradInputs = Pick<NamedTensorInfoMap, 'images' | 'dy'>;
export type ResizeNearestNeighborGradAttrs = ResizeNearestNeighborAttrs;
export declare const ResizeBilinear = "ResizeBilinear";
export type ResizeBilinearInputs = Pick<NamedTensorInfoMap, 'images'>;
export interface ResizeBilinearAttrs {
    alignCorners: boolean;
    halfPixelCenters: boolean;
    size: [number, number];
}
export declare const ResizeBilinearGrad = "ResizeBilinearGrad";
export type ResizeBilinearGradInputs = Pick<NamedTensorInfoMap, 'images' | 'dy'>;
export type ResizeBilinearGradAttrs = ResizeBilinearAttrs;
export declare const Relu6 = "Relu6";
export type Relu6Inputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const Reverse = "Reverse";
export type ReverseInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface ReverseAttrs {
    dims: number | number[];
}
export declare const Round = "Round";
export type RoundInputs = UnaryInputs;
export declare const Rsqrt = "Rsqrt";
export type RsqrtInputs = UnaryInputs;
export declare const ScatterNd = "ScatterNd";
export type ScatterNdInputs = Pick<NamedTensorInfoMap, 'indices' | 'updates'>;
export interface ScatterNdAttrs {
    shape: number[];
}
export declare const TensorScatterUpdate = "TensorScatterUpdate";
export type TensorScatterUpdateInputs = Pick<NamedTensorInfoMap, 'tensor' | 'indices' | 'updates'>;
export interface TensorScatterUpdateAttrs {
}
export declare const SearchSorted = "SearchSorted";
export type SearchSortedInputs = Pick<NamedTensorInfoMap, 'sortedSequence' | 'values'>;
export interface SearchSortedAttrs {
    side: 'left' | 'right';
}
export declare const Select = "Select";
export type SelectInputs = Pick<NamedTensorInfoMap, 'condition' | 't' | 'e'>;
export declare const Selu = "Selu";
export type SeluInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const Slice = "Slice";
export type SliceInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface SliceAttrs {
    begin: number | number[];
    size: number | number[];
}
export declare const Sin = "Sin";
export type SinInputs = UnaryInputs;
export declare const Sinh = "Sinh";
export type SinhInputs = UnaryInputs;
export declare const Sign = "Sign";
export type SignInputs = UnaryInputs;
export declare const Sigmoid = "Sigmoid";
export type SigmoidInputs = UnaryInputs;
export declare const Softplus = "Softplus";
export type SoftplusInputs = UnaryInputs;
export declare const Sqrt = "Sqrt";
export type SqrtInputs = UnaryInputs;
export declare const Sum = "Sum";
export type SumInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface SumAttrs {
    axis: number | number[];
    keepDims: boolean;
}
export declare const SpaceToBatchND = "SpaceToBatchND";
export type SpaceToBatchNDInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface SpaceToBatchNDAttrs {
    blockShape: number[];
    paddings: number[][];
}
export declare const SplitV = "SplitV";
export type SplitVInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface SplitVAttrs {
    numOrSizeSplits: number[] | number;
    axis: number;
}
export declare const Softmax = "Softmax";
export type SoftmaxInputs = Pick<NamedTensorInfoMap, 'logits'>;
export interface SoftmaxAttrs {
    dim: number;
}
export declare const SparseFillEmptyRows = "SparseFillEmptyRows";
export type SparseFillEmptyRowsInputs = Pick<NamedTensorInfoMap, 'indices' | 'values' | 'denseShape' | 'defaultValue'>;
export declare const SparseReshape = "SparseReshape";
export type SparseReshapeInputs = Pick<NamedTensorInfoMap, 'inputIndices' | 'inputShape' | 'newShape'>;
export declare const SparseSegmentMean = "SparseSegmentMean";
export type SparseSegmentMeanInputs = Pick<NamedTensorInfoMap, 'data' | 'indices' | 'segmentIds'>;
export declare const SparseSegmentSum = "SparseSegmentSum";
export type SparseSegmentSumInputs = Pick<NamedTensorInfoMap, 'data' | 'indices' | 'segmentIds'>;
export declare const SparseToDense = "SparseToDense";
export type SparseToDenseInputs = Pick<NamedTensorInfoMap, 'sparseIndices' | 'sparseValues' | 'defaultValue'>;
export interface SparseToDenseAttrs {
    outputShape: number[];
}
export declare const SquaredDifference = "SquaredDifference";
export type SquaredDifferenceInputs = BinaryInputs;
export declare const Square = "Square";
export type SquareInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const StaticRegexReplace = "StaticRegexReplace";
export type StaticRegexReplaceInputs = UnaryInputs;
export interface StaticRegexReplaceAttrs {
    pattern: string;
    rewrite: string;
    replaceGlobal: boolean;
}
export declare const StridedSlice = "StridedSlice";
export type StridedSliceInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface StridedSliceAttrs {
    begin: number[];
    end: number[];
    strides: number[];
    beginMask: number;
    endMask: number;
    ellipsisMask: number;
    newAxisMask: number;
    shrinkAxisMask: number;
}
export declare const StringNGrams = "StringNGrams";
export type StringNGramsInputs = Pick<NamedTensorInfoMap, 'data' | 'dataSplits'>;
export interface StringNGramsAttrs {
    separator: string;
    nGramWidths: number[];
    leftPad: string;
    rightPad: string;
    padWidth: number;
    preserveShortSequences: boolean;
}
export declare const StringSplit = "StringSplit";
export type StringSplitInputs = Pick<NamedTensorInfoMap, 'input' | 'delimiter'>;
export interface StringSplitAttrs {
    skipEmpty: boolean;
}
export declare const StringToHashBucketFast = "StringToHashBucketFast";
export type StringToHashBucketFastInputs = Pick<NamedTensorInfoMap, 'input'>;
export interface StringToHashBucketFastAttrs {
    numBuckets: number;
}
export declare const Sub = "Sub";
export type SubInputs = BinaryInputs;
export declare const Tan = "Tan";
export type TanInputs = UnaryInputs;
export declare const Tanh = "Tanh";
export type TanhInputs = UnaryInputs;
export declare const Tile = "Tile";
export type TileInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface TileAttrs {
    reps: number[];
}
export declare const TopK = "TopK";
export type TopKInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface TopKAttrs {
    k: number;
    sorted: boolean;
}
export declare const Transform = "Transform";
export type TransformInputs = Pick<NamedTensorInfoMap, 'image' | 'transforms'>;
export interface TransformAttrs {
    interpolation: 'nearest' | 'bilinear';
    fillMode: 'constant' | 'reflect' | 'wrap' | 'nearest';
    fillValue: number;
    outputShape?: [number, number];
}
export declare const Transpose = "Transpose";
export type TransposeInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface TransposeAttrs {
    perm: number[];
}
export declare const Unique = "Unique";
export type UniqueInputs = Pick<NamedTensorInfoMap, 'x'>;
export interface UniqueAttrs {
    axis: number;
}
export type UnaryInputs = Pick<NamedTensorInfoMap, 'x'>;
export declare const Unpack = "Unpack";
export type UnpackInputs = Pick<NamedTensorInfoMap, 'value'>;
export interface UnpackAttrs {
    axis: number;
}
export declare const UnsortedSegmentSum = "UnsortedSegmentSum";
export type UnsortedSegmentSumInputs = Pick<NamedTensorInfoMap, 'x' | 'segmentIds'>;
export interface UnsortedSegmentSumAttrs {
    numSegments: number;
}
export declare const UpperBound = "UpperBound";
export type UpperBoundInputs = Pick<NamedTensorInfoMap, 'sortedSequence' | 'values'>;
export declare const ZerosLike = "ZerosLike";
export type ZerosLikeInputs = UnaryInputs;
/**
 * TensorFlow.js-only kernels
 */
export declare const Step = "Step";
export type StepInputs = UnaryInputs;
export interface StepAttrs {
    alpha: number;
}
export declare const FromPixels = "FromPixels";
export interface FromPixelsInputs {
    pixels: PixelData | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap;
}
export interface FromPixelsAttrs {
    numChannels: number;
}
export declare const RotateWithOffset = "RotateWithOffset";
export type RotateWithOffsetInputs = Pick<NamedTensorInfoMap, 'image'>;
export interface RotateWithOffsetAttrs {
    radians: number;
    fillValue: number | [number, number, number];
    center: number | [number, number];
}
export declare const _FusedMatMul = "_FusedMatMul";
export interface _FusedMatMulInputs extends NamedTensorInfoMap {
    a: TensorInfo;
    b: TensorInfo;
    bias?: TensorInfo;
    preluActivationWeights?: TensorInfo;
}
export interface _FusedMatMulAttrs {
    transposeA: boolean;
    transposeB: boolean;
    activation: Activation;
    leakyreluAlpha?: number;
}
export declare const FusedConv2D = "FusedConv2D";
export interface FusedConv2DInputs extends NamedTensorInfoMap {
    x: TensorInfo;
    filter: TensorInfo;
    bias?: TensorInfo;
    preluActivationWeights?: TensorInfo;
}
export interface FusedConv2DAttrs {
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dataFormat: 'NHWC' | 'NCHW';
    dilations: [number, number] | number;
    dimRoundingMode: 'floor' | 'round' | 'ceil';
    activation: Activation;
    leakyreluAlpha?: number;
}
export declare const FusedDepthwiseConv2D = "FusedDepthwiseConv2D";
export interface FusedDepthwiseConv2DInputs extends NamedTensorInfoMap {
    x: TensorInfo;
    filter: TensorInfo;
    bias?: TensorInfo;
    preluActivationWeights?: TensorInfo;
}
export interface FusedDepthwiseConv2DAttrs {
    strides: [number, number] | number;
    pad: 'valid' | 'same' | number | ExplicitPadding;
    dataFormat: 'NHWC' | 'NCHW';
    dilations: [number, number] | number;
    dimRoundingMode: 'floor' | 'round' | 'ceil';
    activation: Activation;
    leakyreluAlpha?: number;
}