__init__.py 14.0 KB
Newer Older
1
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
2 3 4 5 6 7 8 9 10 11 12 13
#
# 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.
14

15 16 17 18 19 20
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 .creation import to_tensor  # noqa: F401
from .creation import diag  # noqa: F401
L
Li Min 已提交
21
from .creation import diagflat  # noqa: F401
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
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 .linalg import matmul  # noqa: F401
from .linalg import dot  # noqa: F401
from .linalg import norm  # noqa: F401
39
from .linalg import cond  # noqa: F401
40 41 42 43 44 45 46
from .linalg import transpose  # 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
S
smallv0221 已提交
47
from .linalg import bincount  # noqa: F401
48
from .linalg import mv  # noqa: F401
L
Lijunhui 已提交
49
from .linalg import eig  # noqa: F401
50
from .linalg import matrix_power  # noqa: F401
51
from .linalg import qr  # noqa: F401
52
from .linalg import eigvals  # noqa: F401
53 54
from .linalg import multi_dot  # noqa: F401
from .linalg import svd  # noqa: F401
55
from .linalg import eigvalsh  # noqa: F401
56
from .linalg import eigh  # noqa: F401
A
andyjpaddle 已提交
57
from .linalg import pinv  # noqa: F401
W
Weilong Wu 已提交
58
from .linalg import solve  # noqa: F401
59 60 61 62 63 64 65 66 67 68
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
69 70 71 72
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
73 74
from .logic import not_equal  # noqa: F401
from .logic import allclose  # noqa: F401
A
andyjpaddle 已提交
75
from .logic import isclose  # noqa: F401
76 77 78 79 80 81
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
82
from .manipulation import broadcast_tensors  # noqa: F401
83 84 85
from .manipulation import expand_as  # noqa: F401
from .manipulation import tile  # noqa: F401
from .manipulation import flatten  # noqa: F401
86
from .manipulation import flatten_  # noqa: F401
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
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
D
duanboqiang 已提交
104
from .manipulation import unique_consecutive  # noqa: F401
105 106 107 108
from .manipulation import unsqueeze  # noqa: F401
from .manipulation import unsqueeze_  # noqa: F401
from .manipulation import unstack  # noqa: F401
from .manipulation import flip  # noqa: F401
Z
zmxdream 已提交
109
from .manipulation import rot90  # noqa: F401
110 111 112
from .manipulation import unbind  # noqa: F401
from .manipulation import roll  # noqa: F401
from .manipulation import chunk  # noqa: F401
F
From00 已提交
113
from .manipulation import tensordot  # noqa: F401
114 115
from .manipulation import as_complex  # noqa: F401
from .manipulation import as_real  # noqa: F401
116
from .manipulation import moveaxis  # noqa: F401
117 118 119 120 121
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
122
from .math import ceil_  # noqa: F401
123 124 125 126
from .math import cos  # noqa: F401
from .math import tan  # noqa: F401
from .math import cosh  # noqa: F401
from .math import cumsum  # noqa: F401
H
hlygit66666 已提交
127
from .math import cumprod  # noqa: F401
W
wangzhen38 已提交
128
from .math import logit  # noqa: F401
129
from .math import exp  # noqa: F401
130
from .math import exp_  # noqa: F401
R
ronnywang 已提交
131
from .math import expm1  # noqa: F401
132
from .math import floor  # noqa: F401
133
from .math import floor_  # noqa: F401
134 135 136 137 138
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
139
from .math import reciprocal_  # noqa: F401
140
from .math import round  # noqa: F401
141
from .math import round_  # noqa: F401
142
from .math import rsqrt  # noqa: F401
143
from .math import rsqrt_  # noqa: F401
144
from .math import scale  # noqa: F401
145
from .math import scale_  # noqa: F401
146 147 148 149
from .math import sign  # noqa: F401
from .math import sin  # noqa: F401
from .math import sinh  # noqa: F401
from .math import sqrt  # noqa: F401
150
from .math import sqrt_  # noqa: F401
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
from .math import square  # noqa: F401
from .math import stanh  # noqa: F401
from .math import sum  # 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 maximum  # noqa: F401
from .math import min  # 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
169
from .math import add_  # noqa: F401
170
from .math import subtract  # noqa: F401
171
from .math import subtract_  # noqa: F401
R
ronnywang 已提交
172
from .math import atan2  # noqa: F401
173 174 175 176 177 178 179 180
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
181
from .math import clip_  # noqa: F401
182 183 184 185 186 187 188 189 190 191
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
192
from .math import trunc  # noqa: F401
Z
zyfncg 已提交
193
from .math import digamma  # noqa: F401
194 195
from .math import neg  # noqa: F401
from .math import lgamma  # noqa: F401
196
from .math import diagonal  # noqa: F401
197 198
from .math import lerp  # noqa: F401
from .math import lerp_  # noqa: F401
199 200
from .math import rad2deg  # noqa: F401
from .math import deg2rad  # noqa: F401
T
Tao Luo 已提交
201 202
from .math import gcd  # noqa: F401
from .math import lcm  # noqa: F401
A
andyjpaddle 已提交
203
from .math import diff  # noqa: F401
F
Feiyu Chan 已提交
204
from .math import angle  # noqa: F401
L
LJQ❤️ 已提交
205 206
from .math import fmax  # noqa: F401
from .math import fmin  # noqa: F401
207

208 209 210 211
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
J
JYChen 已提交
212
from .random import uniform_  # noqa: F401
213 214 215
from .random import randn  # noqa: F401
from .random import rand  # noqa: F401
from .random import randint  # noqa: F401
216
from .random import randint_like  # noqa: F401
217 218 219 220
from .random import randperm  # noqa: F401
from .search import argmax  # noqa: F401
from .search import argmin  # noqa: F401
from .search import argsort  # noqa: F401
Y
Yanxing Shi 已提交
221
from .search import searchsorted  # noqa: F401
222 223 224 225 226 227 228 229 230 231 232 233 234
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 .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 .to_string import set_printoptions  # noqa: F401
235

236 237 238 239
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
L
Leo Chen 已提交
240

T
Tongxin Bai 已提交
241 242
from .einsum import einsum  # noqa: F401

243 244 245 246 247
#this list used in math_op_patch.py for _binary_creator_
tensor_method_func  = [ #noqa
           'matmul',
           'dot',
           'norm',
248
           'cond',
249 250 251 252 253 254 255
           'transpose',
           'dist',
           't',
           'cross',
           'cholesky',
           'bmm',
           'histogram',
S
smallv0221 已提交
256
           'bincount',
257
           'mv',
258
           'matrix_power',
259
           'qr',
260
           'eigvals',
261
           'eigvalsh',
262 263 264 265 266 267 268
           'abs',
           'acos',
           'all',
           'any',
           'asin',
           'atan',
           'ceil',
269
           'ceil_',
270 271 272
           'cos',
           'cosh',
           'cumsum',
H
hlygit66666 已提交
273
           'cumprod',
W
wangzhen38 已提交
274
           'logit',
275
           'exp',
276
           'exp_',
277
           'floor',
278
           'floor_',
279 280 281 282 283 284 285 286 287
           'increment',
           'log',
           'log2',
           'log10',
           'logsumexp',
           'multiplex',
           'pow',
           'prod',
           'reciprocal',
288
           'reciprocal_',
289
           'round',
290
           'round_',
291
           'rsqrt',
292
           'rsqrt_',
293
           'scale',
294
           'scale_',
295 296 297 298
           'sign',
           'sin',
           'sinh',
           'sqrt',
299
           'sqrt_',
300 301 302 303 304 305 306 307 308 309
           'square',
           'stanh',
           'sum',
           'tanh',
           'tanh_',
           'add_n',
           'max',
           'maximum',
           'min',
           'minimum',
L
LJQ❤️ 已提交
310 311
           'fmax',
           'fmin',
312 313 314 315 316 317 318 319
           'mm',
           'divide',
           'floor_divide',
           'remainder',
           'mod',
           'floor_mod',
           'multiply',
           'add',
320
           'add_',
321
           'subtract',
322
           'subtract_',
323 324 325 326 327 328 329
           'atan',
           'logsumexp',
           'inverse',
           'log1p',
           'erf',
           'addmm',
           'clip',
330
           'clip_',
331 332 333 334 335 336 337
           'trace',
           'kron',
           'isfinite',
           'isinf',
           'isnan',
           'broadcast_shape',
           'conj',
338 339
           'neg',
           'lgamma',
340 341 342 343 344 345 346 347 348 349 350 351 352
           'equal',
           'equal_all',
           'greater_equal',
           'greater_than',
           'is_empty',
           'less_equal',
           'less_than',
           'logical_and',
           'logical_not',
           'logical_or',
           'logical_xor',
           'not_equal',
           'allclose',
A
andyjpaddle 已提交
353
           'isclose',
354 355 356 357 358 359 360
           'is_tensor',
           'cast',
           'concat',
           'expand',
           'broadcast_to',
           'expand_as',
           'flatten',
361
           'flatten_',
362 363 364 365 366 367 368 369 370 371 372 373 374
           'gather',
           'gather_nd',
           'reshape',
           'reshape_',
           'reverse',
           'scatter',
           'scatter_',
           'scatter_nd_add',
           'scatter_nd',
           'shard_index',
           'slice',
           'split',
           'chunk',
F
From00 已提交
375
           'tensordot',
376 377 378 379 380 381
           'squeeze',
           'squeeze_',
           'stack',
           'strided_slice',
           'transpose',
           'unique',
D
duanboqiang 已提交
382
           'unique_consecutive',
383 384 385 386
           'unsqueeze',
           'unsqueeze_',
           'unstack',
           'flip',
Z
zmxdream 已提交
387
           'rot90',
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408
           'unbind',
           'roll',
           'tile',
           'argmax',
           'argmin',
           'argsort',
           'masked_select',
           'topk',
           'where',
           'index_select',
           'nonzero',
           'sort',
           'index_sample',
           'mean',
           'std',
           'var',
           'numel',
           'median',
           'rank',
           'shape',
           'real',
Z
zyfncg 已提交
409
           'imag',
410
           'digamma',
411 412
           'diagonal',
           'trunc',
413 414 415 416
           'bitwise_and',
           'bitwise_or',
           'bitwise_xor',
           'bitwise_not',
417
           'broadcast_tensors',
L
Lijunhui 已提交
418
           'eig',
J
JYChen 已提交
419
           'uniform_',
420
           'multi_dot',
W
Weilong Wu 已提交
421
           'solve',
A
andyjpaddle 已提交
422
           'triangular_solve',
423 424
           'as_complex',
           'as_real',
T
Tao Luo 已提交
425 426 427 428
           'rad2deg',
           'deg2rad',
           'gcd',
           'lcm',
F
Feiyu Chan 已提交
429
           'diff',
430 431
           'lerp',
           'lerp_',
F
Feiyu Chan 已提交
432
           'angle',
433
           'moveaxis'
434 435 436 437 438 439 440 441
]

#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'),
442
]