__init__.py 20.4 KB
Newer Older
1
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
Z
zhangjinchao01 已提交
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.
Y
Yancey 已提交
14
try:
15 16
    from paddle.version import full_version as __version__
    from paddle.version import commit as __git_commit__
17
    from paddle.cuda_env import *
Y
Yancey 已提交
18 19
except ImportError:
    import sys
20
    sys.stderr.write('''Warning with import paddle: you should not
Y
Yancey 已提交
21 22
     import paddle from the source directory; please install paddlepaddle*.whl firstly.'''
                     )
23

24
from .batch import batch  # noqa: F401
25 26 27 28
from .fluid import monkey_patch_variable
from .fluid.dygraph import monkey_patch_math_varbase
monkey_patch_variable()
monkey_patch_math_varbase()
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
from .framework.dtype import dtype as dtype  # noqa: F401
from paddle.framework.dtype import uint8  # noqa: F401
from paddle.framework.dtype import int8  # noqa: F401
from paddle.framework.dtype import int16  # noqa: F401
from paddle.framework.dtype import int32  # noqa: F401
from paddle.framework.dtype import int64  # noqa: F401
from paddle.framework.dtype import float16  # noqa: F401
from paddle.framework.dtype import float32  # noqa: F401
from paddle.framework.dtype import float64  # noqa: F401
from paddle.framework.dtype import bfloat16  # noqa: F401
from paddle.framework.dtype import bool  # noqa: F401
from paddle.framework.dtype import complex64  # noqa: F401
from paddle.framework.dtype import complex128  # noqa: F401
from .framework import VarBase as Tensor  # noqa: F401
Tensor.__qualname__ = 'Tensor'  # noqa: F401
import paddle.compat  # noqa: F401
import paddle.distributed  # noqa: F401
import paddle.sysconfig  # noqa: F401
import paddle.distribution  # noqa: F401
import paddle.nn  # noqa: F401
import paddle.distributed.fleet  # noqa: F401
import paddle.optimizer  # noqa: F401
import paddle.metric  # noqa: F401
import paddle.regularizer  # noqa: F401
import paddle.incubate  # noqa: F401
import paddle.autograd  # noqa: F401
55
import paddle.device  # noqa: F401
56

57 58 59 60 61 62 63 64 65
import paddle.jit  # noqa: F401
import paddle.amp  # noqa: F401
import paddle.dataset  # noqa: F401
import paddle.inference  # noqa: F401
import paddle.io  # noqa: F401
import paddle.onnx  # noqa: F401
import paddle.reader  # noqa: F401
import paddle.static  # noqa: F401
import paddle.vision  # noqa: F401
66

67
from .tensor.random import bernoulli  # noqa: F401
68

69 70 71 72 73 74
from .tensor.attribute import rank  # noqa: F401
from .tensor.attribute import shape  # noqa: F401
from .tensor.attribute import real  # noqa: F401
from .tensor.attribute import imag  # noqa: F401
from .tensor.creation import to_tensor  # noqa: F401
from .tensor.creation import diag  # noqa: F401
L
Li Min 已提交
75
from .tensor.creation import diagflat  # noqa: F401
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
from .tensor.creation import eye  # noqa: F401
from .tensor.creation import linspace  # noqa: F401
from .tensor.creation import ones  # noqa: F401
from .tensor.creation import ones_like  # noqa: F401
from .tensor.creation import zeros  # noqa: F401
from .tensor.creation import zeros_like  # noqa: F401
from .tensor.creation import arange  # noqa: F401
from .tensor.creation import full  # noqa: F401
from .tensor.creation import full_like  # noqa: F401
from .tensor.creation import triu  # noqa: F401
from .tensor.creation import tril  # noqa: F401
from .tensor.creation import meshgrid  # noqa: F401
from .tensor.creation import empty  # noqa: F401
from .tensor.creation import empty_like  # noqa: F401
from .tensor.creation import assign  # noqa: F401
from .tensor.linalg import matmul  # noqa: F401
from .tensor.linalg import dot  # noqa: F401
from .tensor.linalg import norm  # noqa: F401
from .tensor.linalg import transpose  # noqa: F401
from .tensor.linalg import dist  # noqa: F401
from .tensor.linalg import t  # noqa: F401
from .tensor.linalg import cross  # noqa: F401
from .tensor.linalg import cholesky  # noqa: F401
from .tensor.linalg import bmm  # noqa: F401
from .tensor.linalg import histogram  # noqa: F401
S
smallv0221 已提交
101
from .tensor.linalg import bincount  # noqa: F401
102 103
from .tensor.linalg import mv  # noqa: F401
from .tensor.logic import equal  # noqa: F401
104
from .tensor.linalg import eigvalsh  # noqa: F401
105 106 107 108 109 110 111 112 113
from .tensor.logic import greater_equal  # noqa: F401
from .tensor.logic import greater_than  # noqa: F401
from .tensor.logic import is_empty  # noqa: F401
from .tensor.logic import less_equal  # noqa: F401
from .tensor.logic import less_than  # noqa: F401
from .tensor.logic import logical_and  # noqa: F401
from .tensor.logic import logical_not  # noqa: F401
from .tensor.logic import logical_or  # noqa: F401
from .tensor.logic import logical_xor  # noqa: F401
114 115 116 117
from .tensor.logic import bitwise_and  # noqa: F401
from .tensor.logic import bitwise_not  # noqa: F401
from .tensor.logic import bitwise_or  # noqa: F401
from .tensor.logic import bitwise_xor  # noqa: F401
118 119
from .tensor.logic import not_equal  # noqa: F401
from .tensor.logic import allclose  # noqa: F401
A
andyjpaddle 已提交
120
from .tensor.logic import isclose  # noqa: F401
121 122 123 124
from .tensor.logic import equal_all  # noqa: F401
from .tensor.logic import is_tensor  # noqa: F401
from .tensor.manipulation import cast  # noqa: F401
from .tensor.manipulation import concat  # noqa: F401
125
from .tensor.manipulation import broadcast_tensors  # noqa: F401
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
from .tensor.manipulation import expand  # noqa: F401
from .tensor.manipulation import broadcast_to  # noqa: F401
from .tensor.manipulation import expand_as  # noqa: F401
from .tensor.manipulation import tile  # noqa: F401
from .tensor.manipulation import flatten  # noqa: F401
from .tensor.manipulation import gather  # noqa: F401
from .tensor.manipulation import gather_nd  # noqa: F401
from .tensor.manipulation import reshape  # noqa: F401
from .tensor.manipulation import reshape_  # noqa: F401
from .tensor.manipulation import flip as reverse  # noqa: F401
from .tensor.manipulation import scatter  # noqa: F401
from .tensor.manipulation import scatter_  # noqa: F401
from .tensor.manipulation import scatter_nd_add  # noqa: F401
from .tensor.manipulation import scatter_nd  # noqa: F401
from .tensor.manipulation import shard_index  # noqa: F401
from .tensor.manipulation import slice  # noqa: F401
from .tensor.manipulation import split  # noqa: F401
from .tensor.manipulation import squeeze  # noqa: F401
from .tensor.manipulation import squeeze_  # noqa: F401
from .tensor.manipulation import stack  # noqa: F401
from .tensor.manipulation import strided_slice  # noqa: F401
from .tensor.manipulation import unique  # noqa: F401
D
duanboqiang 已提交
148
from .tensor.manipulation import unique_consecutive  # noqa: F401
149 150 151 152
from .tensor.manipulation import unsqueeze  # noqa: F401
from .tensor.manipulation import unsqueeze_  # noqa: F401
from .tensor.manipulation import unstack  # noqa: F401
from .tensor.manipulation import flip  # noqa: F401
Z
zmxdream 已提交
153
from .tensor.manipulation import rot90  # noqa: F401
154 155 156 157
from .tensor.manipulation import unbind  # noqa: F401
from .tensor.manipulation import roll  # noqa: F401
from .tensor.manipulation import chunk  # noqa: F401
from .tensor.manipulation import tolist  # noqa: F401
F
From00 已提交
158
from .tensor.manipulation import tensordot  # noqa: F401
159 160
from .tensor.manipulation import as_complex  # noqa: F401
from .tensor.manipulation import as_real  # noqa: F401
161
from .tensor.manipulation import moveaxis  # noqa: F401
K
kuizhiqing 已提交
162
from .tensor.manipulation import repeat_interleave  # noqa: F401
163 164 165 166
from .tensor.math import abs  # noqa: F401
from .tensor.math import acos  # noqa: F401
from .tensor.math import asin  # noqa: F401
from .tensor.math import atan  # noqa: F401
R
ronnywang 已提交
167
from .tensor.math import atan2  # noqa: F401
168 169 170 171 172
from .tensor.math import ceil  # noqa: F401
from .tensor.math import cos  # noqa: F401
from .tensor.math import tan  # noqa: F401
from .tensor.math import cosh  # noqa: F401
from .tensor.math import cumsum  # noqa: F401
H
hlygit66666 已提交
173
from .tensor.math import cumprod  # noqa: F401
W
wangzhen38 已提交
174
from .tensor.math import logit  # noqa: F401
175
from .tensor.math import exp  # noqa: F401
R
ronnywang 已提交
176
from .tensor.math import expm1  # noqa: F401
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
from .tensor.math import floor  # noqa: F401
from .tensor.math import increment  # noqa: F401
from .tensor.math import log  # noqa: F401
from .tensor.math import log2  # noqa: F401
from .tensor.math import log10  # noqa: F401
from .tensor.math import multiplex  # noqa: F401
from .tensor.math import pow  # noqa: F401
from .tensor.math import reciprocal  # noqa: F401
from .tensor.math import all  # noqa: F401
from .tensor.math import any  # noqa: F401
from .tensor.math import round  # noqa: F401
from .tensor.math import rsqrt  # noqa: F401
from .tensor.math import scale  # noqa: F401
from .tensor.math import sign  # noqa: F401
from .tensor.math import sin  # noqa: F401
from .tensor.math import sinh  # noqa: F401
from .tensor.math import sqrt  # noqa: F401
from .tensor.math import square  # noqa: F401
from .tensor.math import stanh  # noqa: F401
from .tensor.math import sum  # noqa: F401
from .tensor.math import tanh  # noqa: F401
from .tensor.math import tanh_  # noqa: F401
from .tensor.math import add_n  # noqa: F401
from .tensor.math import max  # noqa: F401
from .tensor.math import maximum  # noqa: F401
from .tensor.math import min  # noqa: F401
from .tensor.math import minimum  # noqa: F401
from .tensor.math import mm  # noqa: F401
from .tensor.math import divide  # noqa: F401
from .tensor.math import floor_divide  # noqa: F401
from .tensor.math import remainder  # noqa: F401
from .tensor.math import mod  # noqa: F401
from .tensor.math import floor_mod  # noqa: F401
from .tensor.math import multiply  # noqa: F401
from .tensor.math import add  # noqa: F401
from .tensor.math import subtract  # noqa: F401
from .tensor.math import logsumexp  # noqa: F401
from .tensor.math import inverse  # noqa: F401
from .tensor.math import log1p  # noqa: F401
from .tensor.math import erf  # noqa: F401
from .tensor.math import addmm  # noqa: F401
from .tensor.math import clip  # noqa: F401
from .tensor.math import trace  # noqa: F401
220
from .tensor.math import diagonal  # noqa: F401
221 222 223 224 225 226 227
from .tensor.math import kron  # noqa: F401
from .tensor.math import isfinite  # noqa: F401
from .tensor.math import isinf  # noqa: F401
from .tensor.math import isnan  # noqa: F401
from .tensor.math import prod  # noqa: F401
from .tensor.math import broadcast_shape  # noqa: F401
from .tensor.math import conj  # noqa: F401
228
from .tensor.math import trunc  # noqa: F401
Z
zyfncg 已提交
229
from .tensor.math import digamma  # noqa: F401
230 231
from .tensor.math import neg  # noqa: F401
from .tensor.math import lgamma  # noqa: F401
X
xiaoting 已提交
232 233 234
from .tensor.math import acosh  # noqa: F401
from .tensor.math import asinh  # noqa: F401
from .tensor.math import atanh  # noqa: F401
235
from .tensor.math import lerp  # noqa: F401
236 237
from .tensor.math import rad2deg  # noqa: F401
from .tensor.math import deg2rad  # noqa: F401
T
Tao Luo 已提交
238 239
from .tensor.math import gcd  # noqa: F401
from .tensor.math import lcm  # noqa: F401
A
andyjpaddle 已提交
240
from .tensor.math import diff  # noqa: F401
F
Feiyu Chan 已提交
241
from .tensor.math import angle  # noqa: F401
L
LJQ❤️ 已提交
242 243
from .tensor.math import fmax  # noqa: F401
from .tensor.math import fmin  # noqa: F401
L
Leo Chen 已提交
244

245 246 247 248 249 250 251
from .tensor.random import multinomial  # noqa: F401
from .tensor.random import standard_normal  # noqa: F401
from .tensor.random import normal  # noqa: F401
from .tensor.random import uniform  # noqa: F401
from .tensor.random import randn  # noqa: F401
from .tensor.random import rand  # noqa: F401
from .tensor.random import randint  # noqa: F401
252
from .tensor.random import randint_like  # noqa: F401
253 254 255 256
from .tensor.random import randperm  # noqa: F401
from .tensor.search import argmax  # noqa: F401
from .tensor.search import argmin  # noqa: F401
from .tensor.search import argsort  # noqa: F401
Y
Yanxing Shi 已提交
257
from .tensor.search import searchsorted  # noqa: F401
258 259 260 261 262 263
from .tensor.search import masked_select  # noqa: F401
from .tensor.search import topk  # noqa: F401
from .tensor.search import where  # noqa: F401
from .tensor.search import index_select  # noqa: F401
from .tensor.search import nonzero  # noqa: F401
from .tensor.search import sort  # noqa: F401
264

265
from .tensor.to_string import set_printoptions  # noqa: F401
266

T
Tongxin Bai 已提交
267 268
from .tensor.einsum import einsum  # noqa: F401

269 270 271 272 273 274
from .framework.random import seed  # noqa: F401
from .framework.random import get_cuda_rng_state  # noqa: F401
from .framework.random import set_cuda_rng_state  # noqa: F401
from .framework import ParamAttr  # noqa: F401
from .framework import create_parameter  # noqa: F401
from .framework import CPUPlace  # noqa: F401
J
jianghaicheng 已提交
275
from .framework import IPUPlace  # noqa: F401
276 277 278
from .framework import CUDAPlace  # noqa: F401
from .framework import NPUPlace  # noqa: F401
from .framework import CUDAPinnedPlace  # noqa: F401
279

C
chentianyu03 已提交
280 281 282
from .autograd import grad  # noqa: F401
from .autograd import no_grad  # noqa: F401
from .autograd import set_grad_enabled  # noqa: F401
283 284 285
from .framework import save  # noqa: F401
from .framework import load  # noqa: F401
from .framework import DataParallel  # noqa: F401
286

287 288
from .framework import set_default_dtype  # noqa: F401
from .framework import get_default_dtype  # noqa: F401
289

290 291 292 293 294 295 296 297 298
from .tensor.search import index_sample  # noqa: F401
from .tensor.stat import mean  # noqa: F401
from .tensor.stat import std  # noqa: F401
from .tensor.stat import var  # noqa: F401
from .tensor.stat import numel  # noqa: F401
from .tensor.stat import median  # noqa: F401
from .device import get_cudnn_version  # noqa: F401
from .device import set_device  # noqa: F401
from .device import get_device  # noqa: F401
299
from .fluid.framework import is_compiled_with_cinn  # noqa: F401
300
from .fluid.framework import is_compiled_with_cuda  # noqa: F401
301
from .fluid.framework import is_compiled_with_rocm  # noqa: F401
302
from .fluid.framework import disable_signal_handler  # noqa: F401
303 304
from .fluid.framework import get_flags  # noqa: F401
from .fluid.framework import set_flags  # noqa: F401
305 306
from .device import is_compiled_with_xpu  # noqa: F401
from .device import is_compiled_with_npu  # noqa: F401
J
jianghaicheng 已提交
307
from .device import is_compiled_with_ipu  # noqa: F401
308
from .device import XPUPlace  # noqa: F401
309

310 311 312 313
from .fluid.dygraph.base import enable_dygraph as disable_static  # noqa: F401
from .fluid.dygraph.base import disable_dygraph as enable_static  # noqa: F401
from .fluid.framework import in_dygraph_mode as in_dynamic_mode  # noqa: F401
from .fluid.layers import crop_tensor as crop  # noqa: F401
314 315

# high-level api
316
from .hapi import Model  # noqa: F401
Z
zhiboniu 已提交
317
from . import callbacks  # noqa: F401
318 319
from .hapi import summary  # noqa: F401
from .hapi import flops  # noqa: F401
Z
zhiboniu 已提交
320
from . import hub  # noqa: F401
321
from . import linalg  # noqa: F401
Z
zhiboniu 已提交
322
from . import fft  # noqa: F401
323
from . import signal  # noqa: F401
324

325 326
import paddle.text  # noqa: F401
import paddle.vision  # noqa: F401
P
pangyoki 已提交
327

328
from .tensor.random import check_shape  # noqa: F401
329 330 331 332 333 334 335 336 337 338

# CINN has to set a flag to include a lib
if is_compiled_with_cinn():
    import os
    package_dir = os.path.dirname(os.path.abspath(__file__))
    runtime_include_dir = os.path.join(package_dir, "libs")
    cuh_file = os.path.join(runtime_include_dir, "cinn_cuda_runtime_source.cuh")
    if os.path.exists(cuh_file):
        os.environ['runtime_include_dir'] = runtime_include_dir

P
pangyoki 已提交
339
disable_static()
340

341
__all__ = [  # noqa
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356
           'dtype',
           'uint8',
           'int8',
           'int16',
           'int32',
           'int64',
           'float16',
           'float32',
           'float64',
           'bfloat16',
           'bool',
           'complex64',
           'complex128',
           'addmm',
           'allclose',
A
andyjpaddle 已提交
357
           'isclose',
358 359 360 361
           't',
           'add',
           'subtract',
           'diag',
L
Li Min 已提交
362
           'diagflat',
363 364 365 366 367 368 369 370 371 372 373
           'isnan',
           'scatter_nd_add',
           'unstack',
           'get_default_dtype',
           'save',
           'multinomial',
           'get_cuda_rng_state',
           'rank',
           'empty_like',
           'eye',
           'cumsum',
H
hlygit66666 已提交
374
           'cumprod',
W
wangzhen38 已提交
375
           'logit',
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
           'sign',
           'is_empty',
           'equal',
           'equal_all',
           'is_tensor',
           'cross',
           'where',
           'log1p',
           'cos',
           'tan',
           'mean',
           'mv',
           'in_dynamic_mode',
           'min',
           'any',
           'slice',
           'normal',
           'logsumexp',
           'full',
           'unsqueeze',
           'unsqueeze_',
           'argmax',
           'Model',
           'summary',
           'flops',
           'sort',
Y
Yanxing Shi 已提交
402
           'searchsorted',
403 404 405 406 407 408 409 410 411 412 413
           'split',
           'logical_and',
           'full_like',
           'less_than',
           'kron',
           'clip',
           'Tensor',
           'crop',
           'ParamAttr',
           'stanh',
           'randint',
414
           'randint_like',
415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432
           'assign',
           'gather',
           'scale',
           'zeros',
           'rsqrt',
           'squeeze',
           'squeeze_',
           'to_tensor',
           'gather_nd',
           'isinf',
           'uniform',
           'floor_divide',
           'remainder',
           'floor_mod',
           'roll',
           'batch',
           'max',
           'logical_or',
433 434 435 436
           'bitwise_and',
           'bitwise_or',
           'bitwise_xor',
           'bitwise_not',
437 438
           'mm',
           'flip',
Z
zmxdream 已提交
439
           'rot90',
S
smallv0221 已提交
440
           'bincount',
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
           'histogram',
           'multiplex',
           'CUDAPlace',
           'NPUPlace',
           'empty',
           'shape',
           'real',
           'imag',
           'reciprocal',
           'rand',
           'less_equal',
           'triu',
           'sin',
           'dist',
           'unbind',
           'meshgrid',
           'arange',
           'load',
           'numel',
           'median',
           'no_grad',
           'set_grad_enabled',
           'mod',
           'abs',
           'tril',
           'pow',
           'zeros_like',
           'maximum',
           'topk',
           'index_select',
           'CPUPlace',
           'matmul',
           'seed',
           'acos',
           'logical_xor',
           'exp',
R
ronnywang 已提交
477
           'expm1',
478 479 480 481 482 483 484 485
           'bernoulli',
           'sinh',
           'round',
           'DataParallel',
           'argmin',
           'prod',
           'broadcast_shape',
           'conj',
486 487
           'neg',
           'lgamma',
488
           'lerp',
489 490 491 492
           'square',
           'divide',
           'ceil',
           'atan',
R
ronnywang 已提交
493
           'atan2',
494 495
           'rad2deg',
           'deg2rad',
T
Tao Luo 已提交
496 497
           'gcd',
           'lcm',
498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517
           'expand',
           'broadcast_to',
           'ones_like',
           'index_sample',
           'cast',
           'grad',
           'all',
           'ones',
           'not_equal',
           'sum',
           'tile',
           'greater_equal',
           'isfinite',
           'create_parameter',
           'dot',
           'increment',
           'erf',
           'bmm',
           'chunk',
           'tolist',
F
From00 已提交
518
           'tensordot',
519 520 521 522 523 524 525 526 527
           'greater_than',
           'shard_index',
           'argsort',
           'tanh',
           'tanh_',
           'transpose',
           'randn',
           'strided_slice',
           'unique',
D
duanboqiang 已提交
528
           'unique_consecutive',
529 530 531 532 533 534 535 536 537 538 539 540 541
           'set_cuda_rng_state',
           'set_printoptions',
           'std',
           'flatten',
           'asin',
           'multiply',
           'disable_static',
           'masked_select',
           'var',
           'trace',
           'enable_static',
           'scatter_nd',
           'set_default_dtype',
542
           'disable_signal_handler',
543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563
           'expand_as',
           'stack',
           'sqrt',
           'randperm',
           'linspace',
           'reshape',
           'reshape_',
           'reverse',
           'nonzero',
           'CUDAPinnedPlace',
           'logical_not',
           'add_n',
           'minimum',
           'scatter',
           'scatter_',
           'floor',
           'cosh',
           'log',
           'log2',
           'log10',
           'concat',
564
           'check_shape',
Z
zhiboniu 已提交
565
           'trunc',
Z
zyfncg 已提交
566
           'digamma',
567
           'standard_normal',
568 569
           'diagonal',
           'broadcast_tensors',
570 571
           'einsum',
           'set_flags',
A
andyjpaddle 已提交
572
           'get_flags',
X
xiaoting 已提交
573 574 575
           'asinh',
           'acosh',
           'atanh',
576 577
           'as_complex',
           'as_real',
F
Feiyu Chan 已提交
578 579
           'diff',
           'angle',
L
LJQ❤️ 已提交
580 581
           'fmax',
           'fmin',
582
           'moveaxis',
K
kuizhiqing 已提交
583
           'repeat_interleave',
584
]