forked from PaddlePaddle/Paddle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
__init__.py
executable file
·520 lines (512 loc) · 15 KB
/
__init__.py
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
# Copyright (c) 2016 PaddlePaddle Authors. 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.
from .attribute import is_complex # noqa: F401
from .attribute import is_integer # noqa: F401
from .attribute import rank # noqa: F401
from .attribute import shape # noqa: F401
from .attribute import real # noqa: F401
from .attribute import imag # noqa: F401
from .attribute import is_floating_point # noqa: F401
from .creation import to_tensor # noqa: F401
from .creation import diag # noqa: F401
from .creation import diagflat # noqa: F401
from .creation import eye # noqa: F401
from .creation import linspace # noqa: F401
from .creation import ones # noqa: F401
from .creation import ones_like # noqa: F401
from .creation import zeros # noqa: F401
from .creation import zeros_like # noqa: F401
from .creation import arange # noqa: F401
from .creation import full # noqa: F401
from .creation import full_like # noqa: F401
from .creation import triu # noqa: F401
from .creation import tril # noqa: F401
from .creation import meshgrid # noqa: F401
from .creation import empty # noqa: F401
from .creation import empty_like # noqa: F401
from .creation import complex # noqa: F401
from .linalg import matmul # noqa: F401
from .linalg import dot # noqa: F401
from .linalg import cov # noqa: F401
from .linalg import corrcoef # noqa: F401
from .linalg import norm # noqa: F401
from .linalg import cond # noqa: F401
from .linalg import transpose # noqa: F401
from .linalg import lstsq # noqa: F401
from .linalg import dist # noqa: F401
from .linalg import t # noqa: F401
from .linalg import cross # noqa: F401
from .linalg import cholesky # noqa: F401
from .linalg import bmm # noqa: F401
from .linalg import histogram # noqa: F401
from .linalg import bincount # noqa: F401
from .linalg import mv # noqa: F401
from .linalg import eig # noqa: F401
from .linalg import matrix_power # noqa: F401
from .linalg import qr # noqa: F401
from .linalg import eigvals # noqa: F401
from .linalg import multi_dot # noqa: F401
from .linalg import svd # noqa: F401
from .linalg import eigvalsh # noqa: F401
from .linalg import eigh # noqa: F401
from .linalg import pinv # noqa: F401
from .linalg import solve # noqa: F401
from .linalg import cholesky_solve # noqa: F401
from .linalg import lu # noqa: F401
from .linalg import lu_unpack # noqa: F401
from .logic import equal # noqa: F401
from .logic import greater_equal # noqa: F401
from .logic import greater_than # noqa: F401
from .logic import is_empty # noqa: F401
from .logic import less_equal # noqa: F401
from .logic import less_than # noqa: F401
from .logic import logical_and # noqa: F401
from .logic import logical_not # noqa: F401
from .logic import logical_or # noqa: F401
from .logic import logical_xor # noqa: F401
from .logic import bitwise_and # noqa: F401
from .logic import bitwise_or # noqa: F401
from .logic import bitwise_xor # noqa: F401
from .logic import bitwise_not # noqa: F401
from .logic import not_equal # noqa: F401
from .logic import allclose # noqa: F401
from .logic import isclose # noqa: F401
from .logic import equal_all # noqa: F401
from .logic import is_tensor # noqa: F401
from .manipulation import cast # noqa: F401
from .manipulation import concat # noqa: F401
from .manipulation import expand # noqa: F401
from .manipulation import broadcast_to # noqa: F401
from .manipulation import broadcast_tensors # noqa: F401
from .manipulation import expand_as # noqa: F401
from .manipulation import tile # noqa: F401
from .manipulation import flatten # noqa: F401
from .manipulation import flatten_ # noqa: F401
from .manipulation import gather # noqa: F401
from .manipulation import gather_nd # noqa: F401
from .manipulation import reshape # noqa: F401
from .manipulation import reshape_ # noqa: F401
from .manipulation import flip as reverse # noqa: F401
from .manipulation import scatter # noqa: F401
from .manipulation import scatter_ # noqa: F401
from .manipulation import scatter_nd_add # noqa: F401
from .manipulation import scatter_nd # noqa: F401
from .manipulation import shard_index # noqa: F401
from .manipulation import slice # noqa: F401
from .manipulation import split # noqa: F401
from .manipulation import squeeze # noqa: F401
from .manipulation import squeeze_ # noqa: F401
from .manipulation import stack # noqa: F401
from .manipulation import strided_slice # noqa: F401
from .manipulation import unique # noqa: F401
from .manipulation import unique_consecutive # noqa: F401
from .manipulation import unsqueeze # noqa: F401
from .manipulation import unsqueeze_ # noqa: F401
from .manipulation import unstack # noqa: F401
from .manipulation import flip # noqa: F401
from .manipulation import rot90 # noqa: F401
from .manipulation import unbind # noqa: F401
from .manipulation import roll # noqa: F401
from .manipulation import chunk # noqa: F401
from .manipulation import tensordot # noqa: F401
from .manipulation import as_complex # noqa: F401
from .manipulation import take_along_axis # noqa: F401
from .manipulation import put_along_axis # noqa: F401
from .manipulation import put_along_axis_ # noqa: F401
from .manipulation import as_real # noqa: F401
from .manipulation import moveaxis # noqa: F401
from .manipulation import repeat_interleave # noqa: F401
from .math import abs # noqa: F401
from .math import acos # noqa: F401
from .math import asin # noqa: F401
from .math import atan # noqa: F401
from .math import ceil # noqa: F401
from .math import ceil_ # noqa: F401
from .math import cos # noqa: F401
from .math import tan # noqa: F401
from .math import cosh # noqa: F401
from .math import cumsum # noqa: F401
from .math import cumprod # noqa: F401
from .math import logcumsumexp # noqa: F401
from .math import logit # noqa: F401
from .math import exp # noqa: F401
from .math import exp_ # noqa: F401
from .math import expm1 # noqa: F401
from .math import floor # noqa: F401
from .math import floor_ # noqa: F401
from .math import increment # noqa: F401
from .math import log # noqa: F401
from .math import multiplex # noqa: F401
from .math import pow # noqa: F401
from .math import reciprocal # noqa: F401
from .math import reciprocal_ # noqa: F401
from .math import round # noqa: F401
from .math import round_ # noqa: F401
from .math import rsqrt # noqa: F401
from .math import rsqrt_ # noqa: F401
from .math import scale # noqa: F401
from .math import scale_ # noqa: F401
from .math import sign # noqa: F401
from .math import sin # noqa: F401
from .math import sinh # noqa: F401
from .math import sqrt # noqa: F401
from .math import sqrt_ # noqa: F401
from .math import square # noqa: F401
from .math import stanh # noqa: F401
from .math import sum # noqa: F401
from .math import nansum # noqa: F401
from .math import nanmean # noqa: F401
from .math import count_nonzero # noqa: F401
from .math import tanh # noqa: F401
from .math import tanh_ # noqa: F401
from .math import add_n # noqa: F401
from .math import max # noqa: F401
from .math import amax # noqa: F401
from .math import maximum # noqa: F401
from .math import min # noqa: F401
from .math import amin # noqa: F401
from .math import minimum # noqa: F401
from .math import mm # noqa: F401
from .math import divide # noqa: F401
from .math import floor_divide # noqa: F401
from .math import remainder # noqa: F401
from .math import mod # noqa: F401
from .math import floor_mod # noqa: F401
from .math import multiply # noqa: F401
from .math import add # noqa: F401
from .math import add_ # noqa: F401
from .math import subtract # noqa: F401
from .math import subtract_ # noqa: F401
from .math import atan2 # noqa: F401
from .math import logsumexp # noqa: F401
from .math import inverse # noqa: F401
from .math import log2 # noqa: F401
from .math import log10 # noqa: F401
from .math import log1p # noqa: F401
from .math import erf # noqa: F401
from .math import addmm # noqa: F401
from .math import clip # noqa: F401
from .math import clip_ # noqa: F401
from .math import trace # noqa: F401
from .math import kron # noqa: F401
from .math import isfinite # noqa: F401
from .math import isinf # noqa: F401
from .math import isnan # noqa: F401
from .math import prod # noqa: F401
from .math import all # noqa: F401
from .math import any # noqa: F401
from .math import broadcast_shape # noqa: F401
from .math import conj # noqa: F401
from .math import trunc # noqa: F401
from .math import digamma # noqa: F401
from .math import neg # noqa: F401
from .math import lgamma # noqa: F401
from .math import diagonal # noqa: F401
from .math import acosh # noqa: F401
from .math import asinh # noqa: F401
from .math import atanh # noqa: F401
from .math import lerp # noqa: F401
from .math import lerp_ # noqa: F401
from .math import erfinv # noqa: F401
from .math import erfinv_ # noqa: F401
from .math import rad2deg # noqa: F401
from .math import deg2rad # noqa: F401
from .math import gcd # noqa: F401
from .math import lcm # noqa: F401
from .math import diff # noqa: F401
from .math import angle # noqa: F401
from .math import fmax # noqa: F401
from .math import fmin # noqa: F401
from .math import inner # noqa: F401
from .math import outer # noqa: F401
from .math import heaviside # noqa: F401
from .math import frac # noqa: F401
from .math import sgn # noqa: F401
from .math import take # noqa: F401
from .random import multinomial # noqa: F401
from .random import standard_normal # noqa: F401
from .random import normal # noqa: F401
from .random import uniform # noqa: F401
from .random import uniform_ # noqa: F401
from .random import randn # noqa: F401
from .random import rand # noqa: F401
from .random import randint # noqa: F401
from .random import randint_like # noqa: F401
from .random import randperm # noqa: F401
from .random import poisson # noqa: F401
from .random import exponential_ # noqa: F401
from .search import argmax # noqa: F401
from .search import argmin # noqa: F401
from .search import argsort # noqa: F401
from .search import searchsorted # noqa: F401
from .search import bucketize # noqa: F401
from .search import topk # noqa: F401
from .search import where # noqa: F401
from .search import index_select # noqa: F401
from .search import nonzero # noqa: F401
from .search import sort # noqa: F401
from .search import index_sample # noqa: F401
from .search import masked_select # noqa: F401
from .search import kthvalue # noqa: F401
from .search import mode # noqa: F401
from .stat import mean # noqa: F401
from .stat import std # noqa: F401
from .stat import var # noqa: F401
from .stat import numel # noqa: F401
from .stat import median # noqa: F401
from .stat import nanmedian # noqa: F401
from .stat import quantile # noqa: F401
from .stat import nanquantile # noqa: F401
from .to_string import set_printoptions # noqa: F401
from .array import array_length # noqa: F401
from .array import array_read # noqa: F401
from .array import array_write # noqa: F401
from .array import create_array # noqa: F401
from .einsum import einsum # noqa: F401
# this list used in math_op_patch.py for _binary_creator_
tensor_method_func = [ # noqa
'matmul',
'dot',
'cov',
'corrcoef',
'norm',
'cond',
'transpose',
'lstsq',
'dist',
't',
'cross',
'cholesky',
'bmm',
'histogram',
'bincount',
'mv',
'matrix_power',
'qr',
'eigvals',
'eigvalsh',
'abs',
'acos',
'all',
'any',
'asin',
'atan',
'ceil',
'ceil_',
'cos',
'cosh',
'cumsum',
'cumprod',
'logcumsumexp',
'logit',
'exp',
'exp_',
'floor',
'floor_',
'increment',
'log',
'log2',
'log10',
'logsumexp',
'multiplex',
'pow',
'prod',
'reciprocal',
'reciprocal_',
'round',
'round_',
'rsqrt',
'rsqrt_',
'scale',
'scale_',
'sign',
'sin',
'sinh',
'sqrt',
'sqrt_',
'square',
'stanh',
'sum',
'nansum',
'nanmean',
'count_nonzero',
'tanh',
'tanh_',
'add_n',
'max',
'amax',
'maximum',
'min',
'amin',
'minimum',
'fmax',
'fmin',
'mm',
'inner',
'outer',
'divide',
'floor_divide',
'remainder',
'mod',
'floor_mod',
'multiply',
'add',
'add_',
'subtract',
'subtract_',
'atan',
'logsumexp',
'inverse',
'log1p',
'erf',
'addmm',
'clip',
'clip_',
'trace',
'kron',
'kthvalue',
'isfinite',
'isinf',
'isnan',
'broadcast_shape',
'conj',
'neg',
'lgamma',
'equal',
'equal_all',
'greater_equal',
'greater_than',
'is_empty',
'less_equal',
'less_than',
'logical_and',
'logical_not',
'logical_or',
'logical_xor',
'not_equal',
'allclose',
'isclose',
'is_tensor',
'cast',
'concat',
'expand',
'broadcast_to',
'expand_as',
'flatten',
'flatten_',
'gather',
'gather_nd',
'reshape',
'reshape_',
'reverse',
'scatter',
'scatter_',
'scatter_nd_add',
'scatter_nd',
'shard_index',
'slice',
'split',
'chunk',
'tensordot',
'squeeze',
'squeeze_',
'stack',
'strided_slice',
'transpose',
'unique',
'unique_consecutive',
'unsqueeze',
'unsqueeze_',
'unstack',
'flip',
'rot90',
'unbind',
'roll',
'tile',
'argmax',
'argmin',
'argsort',
'masked_select',
'topk',
'where',
'index_select',
'nonzero',
'sort',
'index_sample',
'mean',
'std',
'var',
'numel',
'median',
'nanmedian',
'quantile',
'nanquantile',
'is_complex',
'is_integer',
'rank',
'shape',
'real',
'imag',
'is_floating_point',
'digamma',
'diagonal',
'trunc',
'frac',
'bitwise_and',
'bitwise_or',
'bitwise_xor',
'bitwise_not',
'broadcast_tensors',
'eig',
'uniform_',
'multi_dot',
'solve',
'cholesky_solve',
'triangular_solve',
'asinh',
'atanh',
'acosh',
'lu',
'lu_unpack',
'as_complex',
'as_real',
'rad2deg',
'deg2rad',
'gcd',
'lcm',
'diff',
"mode",
'lerp',
'lerp_',
'erfinv',
'erfinv_',
'angle',
'moveaxis',
'repeat_interleave',
'take_along_axis',
'put_along_axis',
'put_along_axis_',
'exponential_',
'heaviside',
'take',
'bucketize',
'sgn',
]
# this list used in math_op_patch.py for magic_method bind
magic_method_func = [
('__and__', 'bitwise_and'),
('__or__', 'bitwise_or'),
('__xor__', 'bitwise_xor'),
('__invert__', 'bitwise_not'),
]