1. 19 10月, 2021 1 次提交
    • Y
      [paddle.linalg.qr] Add the Qr Operator (#35742) · 34d785c2
      Yulong Ao 提交于
      * Add QR decomposition op
      
      * Change codes to adapt to new svd_helper
      
      * Update linalg.py
      
      Restore the deleted comma
      
      * Restore the deleted line
      
      * Update linalg.py
      
      * Update linalg.py
      
      * Improve the qr code by reviews
      
      * Update QR based on CI results
      
      * Update qr doc, test=document_fix
      
      * Change unsafe and ill-formed codes
      34d785c2
  2. 09 10月, 2021 1 次提交
    • F
      Add new API 'tensordot' (#36273) · 21dc7f40
      From00 提交于
      * Add new API tensordot
      
      * Set timeout value 400 for UT; Fix format for EN docs
      
      * Set timeout value 1000 for UT; Fix format for EN docs
      
      * Remove some input check
      
      * Coding style improve: don't compare boolean values to True or False
      using ==
      21dc7f40
  3. 28 9月, 2021 1 次提交
    • L
      add API paddle.linalg.eig (#35674) · bc7e2b92
      Lijunhui 提交于
      * Add paddle.linalg.eig op
      
      * remove comments
      
      * remove comments
      
      * extend batch_size to the origin
      
      * add real times complex functor & destroy the backward complex output bug
      
      * terminate output diff when input real tensors
      
      * correct tiny doc errors
      
      * move functions from eig_helper to svd_helper and remove eig_helper
      
      * remove tensor.Resize
      
      * remove no longer used code
      
      * use existing lapack functions
      
      * reply review comments 21/27
      
      * remove .cu as this op is only executed on CPU
      
      * remove const_cast & add const in argument list for read-only references
      
      * fix sample code error in CI
      
      * remove template typename Tbase and more
      
      * remove eig exposure in paddle.*
      
      * add 'name=None' in eig python implementation
      
      * handle the unittest
      
      * try to solve the unittest
      
      * solve CI coverage
      
      * remove no longer used code
      
      * polish API doc and more
      
      * reply review comments
      
      * polish unittest, commit plan B
      
      * polish unittest
      bc7e2b92
  4. 26 9月, 2021 1 次提交
  5. 24 9月, 2021 1 次提交
    • W
      Add paddle.linalg.solve OP (#35715) · 8caf951c
      Weilong Wu 提交于
      * Add linalg.solve op, test=develop
      
      * Fix a bug caused by accidental deletion
      
      * updated description and fix a bug: missing a comma
      
      * Add linalg.solve op, test=develop
      
      * updated solve op backward logic
      
      * updated solve op backward logic again
      
      * Add linalg.solve Op, test=develop
      
      * Updated and modified to fit CI requirements
      
      * Fix a bug
      
      * 1)Add more test cases; 2)Fix a wrong usage in reduces operation; 3)Remove redundant code
      
      * Remove redundant comments
      
      * 1)Removed redundant code; 2)Updated to enhance code robustness
      
      * Removed redundant code
      
      * Updated API documents
      8caf951c
  6. 18 9月, 2021 2 次提交
    • F
      Add FFT related operators and APIs (#35665) · 11518a43
      Feiyu Chan 提交于
      * 1. add interface for fft;
      2. add data type predicate;
      3. fix paddle.roll.
      
      * add fft c2c cufft kernel
      
      * implement argument checking & op calling parts for fft_c2c and fftn_c2c
      
      * add operator and opmaker definitions
      
      * only register float and double for cpu.
      
      * add common code for implementing FFT, add pocketfft as a dependency
      
      * add fft c2c cufft kernel function
      
      * fix bugs in python interface
      
      * add support for c2r, r2c operators, op makers, kernels and kernel functors.
      
      * test and fix bugs
      
      * 1. fft_c2c function: add support for onesided=False;
      2. add complex<float>, complex<double> support for concat and flip.
      
      * 1. fft: fix python api bugs;
      2. shape_op: add support for complex data types.
      
      * fft c2c cufft kernel done with complie and link
      
      * fix shape_op, add mkl placeholder
      
      * remove mkl
      
      * complete fft c2c in gpu
      
      * 1. implement mkl-based fft, FFTC2CFunctor and common function exec_fft;
      2. change the design, add input and output typename as template parameter for all FFTFunctors, update pocketfft-based implementation.
      
      * complete fft c2c on gpu in ND
      
      * complete fft c2c on gpu in ND
      
      * complete fft c2c backward in ND
      
      * fix MKL-based implementation
      
      * Add frame op and CPU/GPU kernels.
      
      * Add frame op forward unittest.
      
      * Add frame op forward unittest.
      
      * Remove axis parameter in FrameFunctor.
      
      * Add frame op grad CPU/GPU kernels and unittest.
      
      * Add frame op grad CPU/GPU kernels and unittest.
      
      * Update doc string.
      
      * Update after review and remove librosa requirement in unittest.
      
      * Update grad kernel.
      
      * add fft_c2r op
      
      * Remove data allocation in TransCompute function.
      
      * add fft r2c onesided with cpu(pocketfft/mkl) and gpu
      
      * last fft c2r functor
      
      * fix C2R and R2C for cufft, becase the direction is not an option in these cases.
      
      * add fft r2c onesided with cpu(pocketfft/mkl) and gpu
      
      * fix bugs in python APIs
      
      * fix fft_c2r grad kernal
      
      * fix bugs in python APIs
      
      * add cuda fft c2r grad kernal functor
      
      * clean code
      
      * fix fft_c2r python API
      
      * fill fft r2c result with conjugate symmetry (#19)
      
      fill fft r2c result with conjugate symmetry
      
      * add placeholder for unittests (#24)
      
      * simple parameterize test function by auto generate test case from parm list (#25)
      
      * miscellaneous fixes for python APIs (#26)
      
      * add placeholder for unittests
      
      * resize fft inputs before computation is n or s is provided.
      
      * add complex kernels for pad and pad_grad
      
      * simplify argument checking.
      
      * add type promotion
      
      * add int to float or complex promotion
      
      * fix output data type for static mode
      
      * fix fft's input dtype dispatch, import fft to paddle
      
      * fix typos in axes checking (#27)
      
      * fix typos in axes checking
      
      * fix argument checking (#28)
      
      * fix argument checking
      
      * Add C2R Python layer normal and abnormal use cases (#29)
      
      * documents and single case
      
      * test c2r case
      
      * New C2R Python layer normal and exception use cases
      
      * complete rfft,rfft2,rfftn,ihfft,ihfft2,ihfftn unittest and doc string (#30)
      
      * Documentation of the common interfaces of c2r and c2c (#31)
      
      * Documentation of the common interfaces of c2r and c2c
      
      * clean c++ code  (#32)
      
      * clean code
      
      * Add numpy-based implementation of spectral ops (#33)
      
      * add numpy reference implementation of spectral ops
      
      * Add fft_c2r numpy based implementation for unittest. (#34)
      
      * add fft_c2r numpy implementation
      
      * Add deframe op and stft/istft api. (#23)
      
      * Add frame api
      
      * Add deframe op and kernels.
      
      * Add stft and istft apis.
      
      * Add deframe api. Update stft and istft apis.
      
      * Fix bug in frame_from_librosa function when input dims >= 3
      
      * Rename deframe to overlap_add.
      
      * Update istft.
      
      * Update after code review.
      
      * Add overlap_add op and stft/istft api unittest (#35)
      
      * Add overlap_add op unittest.
      
      * Register complex kernels of squeeze/unsquuze op.
      
      * Add stft/istft api unittest.
      
      * Add unittest for fft helper functions (#36)
      
      * add unittests for fft helper functions. add complex kernel for roll op.
      
      * complete static graph unittest for all public api (#37)
      
      * Unittest of op with FFT C2C, C2R and r2c added (#38)
      
      * documents and single case
      
      * test c2r case
      
      * New C2R Python layer normal and exception use cases
      
      * Documentation of the common interfaces of c2r and c2c
      
      * Unittest of op with FFT C2C, C2R and r2c added
      Co-authored-by: lijiaqi0612's avatarlijiaqi <lijiaqi0612@163.com>
      
      * add fft related options to CMakeLists.txt
      
      * fix typos and clean code (#39)
      
      * fix invisible character in mkl branch and fix error in error message
      
      * clean code: remove docstring from unittest for signal.py.
      
      * always convert numpy array to paddle.Tensor to avoid comparing numpy dtype with paddle dtype. (#40)
      
      * always convert numpy array to paddle.Tensor to avoid comparing numpy dtype with paddle dtype.
      
      * fix CI Errors: numpy dtype comparison, thrust when cuda is not available (#41)
      
      1. always convert numpy array to paddle.Tensor to avoid comparing numpy dtype with paddle dtype.
      2. promote floating point tensor to complex tensor ior fft_c2c and fft_c2r;
      3. fix unittest to catch UnImplementedError and RuntimeError;
      4. fix compile error by avoid using thrust when cuda is not available.
      5.  fix sample code, use paddle.fft instead of paddle.tensor.fft
      
      * remove inclusion of thrust, add __all__ list for fft (#42)
      
      * Add api doc and update unittest. (#43)
      
      * Add doc strings.
      * Update overlap_add op unittest
      
      * fix MKL-based FFT implementation (#44)
      
      * fix MKL-based FFT implementation, MKL CDFT's FORWARD DOMAIN is always REAL for R2C and C2R
      
      * remove code for debug (#45)
      
      * use dynload for cufft (#46)
      
      * use std::ptrdiff_t as datatype of stride (instead of int64_t) to avoid argument mismatch on some platforms.
      
      * add complex support for fill_zeros_like
      
      * use dynload for cufft
      
      * Update doc and unittest. (#47)
      
      * Add doc of frame op and overlap_add op.
      
      * Update unittest.
      
      * use dynload for cufft (#48)
      
      1. use dynload for cufft
      2. fix unittest;
      3. temporarily disable Rocm.
      
      * fix conflicts and merge upstream (#49)
      
      fix conflicts and merge upstream
      
      * fix compile error: only link dyload_cuda when cuda is available (#50)
      
      * fix compile error: only link dyload_cuda when cuda is available
      
      * fix dynload for cufft on windows (#51)
      
      1. fix dynload for cufft on windows;
      2. fix unittests.
      
      * add NOMINMAX to compile on windows (#52)
      
       add NOMINMAX to compile on windows
      
      * explicitly specify capture mode for lambdas (#55)
      
       explicitly specify capture mode for lambdas
      
      * fix fft sample (#53)
      
      * fix fft sample
      
      * update scipy and numpy version for unittests of fft (#56)
      
      update scipy and numpy version for unittests of fft
      
      * Add static graph unittests of frame and overlap_add api. (#57)
      
      * Remove cache of cuFFT & Disable ONEMKL (#59)
      
      1. replace numpy.fft with scipy.fft as numpy<1.20 not support ortho norm
      2. remove cache of cufft plans;
      3. enhance error checking.
      4. default WITH_ONEMKL to OFF
      Co-authored-by: Njeff41404 <jeff41404@gmail.com>
      Co-authored-by: Nroot <root@bjyz-sys-gpu-kongming9.bjyz.baidu.com>
      Co-authored-by: NKP <109694228@qq.com>
      Co-authored-by: lijiaqi0612's avatarlijiaqi <lijiaqi0612@163.com>
      Co-authored-by: NXiaoxu Chen <chenxx_id@163.com>
      Co-authored-by: Nlijiaqi0612 <33169170+lijiaqi0612@users.noreply.github.com>
      11518a43
    • F
      Add new API "eigvals" in linalg (#35720) · d411a038
      From00 提交于
      * Add linalg.eigvals API
      
      * pre-commit check
      
      * Adjust code style
      
      * Fix conflict
      
      * Improve code style
      
      * Modify the test code to ignore testing CUDA kernel
      
      * Sort ouput data before checking in test code
      
      * Set timeout value for UT
      
      * Improve API example code to pass CI
      
      * Fix bug for None fetch_list in Windows
      
      * Delete grad Op
      d411a038
  7. 17 9月, 2021 1 次提交
  8. 16 9月, 2021 3 次提交
  9. 13 9月, 2021 2 次提交
  10. 10 9月, 2021 1 次提交
    • H
      add cumprod op (#35185) · 4e509f46
      hlygit66666 提交于
      * add test_cumprod_op
      
      * Revert "add test_cumprod_op"
      
      This reverts commit c96cf6dff5d09ae7d8cc72c1e8ae4369a153aa19.
      
      * recommit
      
      * add error message
      
      * test input(x) initialize
      
      * test use cpu
      
      * update test code
      
      * add test type
      
      * add test case
      
      * solve ci problem
      
      * add complex case test
      
      * add complex case test
      
      * fix review problem
      
      * fix conflict
      
      * fix some docs
      
      * change test case
      
      * change test case
      
      * fix review problems again
      
      * fix docs
      
      * fix inclusivescan bug
      4e509f46
  11. 08 9月, 2021 1 次提交
  12. 02 9月, 2021 1 次提交
    • X
      Add SVD Op and it's GPU and CPU kernel (#34953) · 7e5fb462
      xiongkun 提交于
      * Add SVD Op and it's GPU and CPU kernel
      
      * Remove CUDAPlace in test_svd_op, make the test available in CPU package
      
      * modfity the file
      
      * fix windows bug/ fix ROCM / fix test timeout
      
      * for pass the CIs
      
      * improve error report
      
      * for code review
      
      * some modification to test_svd_op
      
      * change python code style
      
      * expose the svd interface for document
      7e5fb462
  13. 27 8月, 2021 1 次提交
  14. 20 8月, 2021 1 次提交
  15. 16 8月, 2021 1 次提交
    • D
      add unique_consecutive_op (#34334) · 875cfd57
      duanboqiang 提交于
      * add unique_consecutive_op
      
      * add unique_consecutive_op
      
      * add unique_consecutive_op
      
      * add unique_consecutive_op
      
      * add unique_consecutive_op
      
      * add unique_consecutive_op
      
      * add unique_consecutive_op
      
      * add unique_consecutive_op
      
      * remove unity build
      
      * add unique_consecutive op
      
      * add unique_consecutive op
      
      * add enable static
      
      * add noqa
      
      * add space line
      
      * add default case.
      
      * add comma
      
      * add space line
      
      * modify unique_consecutive unittest
      
      * optimize ut coverage
      
      * rebase develop
      
      * improve coverage
      
      * update en docs
      
      * update en docs
      
      * update en docs
      
      * update en docs
      
      * update en docs
      
      * update en doc
      875cfd57
  16. 13 8月, 2021 1 次提交
    • T
      New Einsum API (#33821) · 8c8667f0
      Tongxin Bai 提交于
      * OP dot: refactor CPU kernels and get better loop performance.
      
      * Minor fix on code format.
      
      * Fixed minor errors.
      
      * Add new API: einsum
      
      * Update the Einsum unit test.
      
      One case failed with matmul_v2, where the dtype is int64:
      
      a = np.arange(2 * 3 * 1).reshape(2, 3, 1)
      b = np.arange(1)
      paddle.einsum("...i, ...i", a, b)
      
      * Test cases in test_einsum test floating point dtypes only.
      
      As of now Paddle only supports float/double dtypes in matmul, which is
      one of building blocks of this Einsum implementation. We decide not to
      test einsum against other dtypes.
      
      * Polish format.
      
      * More formatting.
      
      * Format...
      
      * Einsum: improve test coverage.
      
      * Einsum: bug fixes and more testcases for testing error messages
      
      * Einsum: fix format..
      
      * Einsum: fixed typo and format.
      
      * Einsum: format again...
      
      * Einsum: applied suggested changes.
      
      * Einsum API: improve API documentation.
      
      * Einsum API: apply suggested changes.
      
      * Einsum API: Add dygraph only note.
      
      * Einsum API: Add dygraph only note.
      
      * Einsum API: fixed unittest.
      8c8667f0
  17. 23 6月, 2021 1 次提交
  18. 22 6月, 2021 1 次提交
    • Z
      [API/OP]Add a new API paddle.diagonal (#33586) · ad106290
      zhangbo9674 提交于
      * new api diagonal, test=develop
      
      * add new api diagonal, test=develop
      
      * new api diagonal, test=develop
      
      * add new api paddle.diagonal, test=develop
      
      * use framework::stride replace ComputeDimStride
      
      * replace cudaMalloc/cudaMemcpy by TensorFormVector in cudaKernel and cudaGradKernel
      
      * perfect funciton: when attr(offset) is exceed attr(axis1) or attr(axis2), set the diagonal dim is 0
      
      * fix RP-Mac-CI bug: replace framework::stride() by ComputDimStride.
      
      * perfect code-block
      
      * perfect code of python API diagonal
      
      * api supports dtype of float16 and bool
      
      * api supports dtype of float16 and bool
      
      * modify unittest code
      
      * modify unittest code
      
      * perfect dtype describe
      
      * perfect code-block
      ad106290
  19. 17 6月, 2021 1 次提交
  20. 16 6月, 2021 2 次提交
  21. 15 6月, 2021 1 次提交
    • Z
      Add digamma_op and unittest (#33278) · 02a6d49a
      zyfncg 提交于
      * Add digamma_op and unittest
      
      * add digamma_op api
      
      * remove special DigammaCudaKernel and correct some docs
      
      * remove unused headers
      
      * fix api doc error
      02a6d49a
  22. 11 6月, 2021 2 次提交
  23. 09 6月, 2021 2 次提交
  24. 30 4月, 2021 1 次提交
    • P
      Add 12 inplace APIs including auto generated (#32573) · 308073de
      pangyoki 提交于
      * add relu6_ hardsigmoid_ leaky_relu_ Inplace APIs
      
      * add softmax_with_cross_entropy_ Inplace API
      
      * add clip_ scale_ add_ subtract_ Inplace APIs
      
      * add wlist
      
      * fix parameter of scale api
      
      * add add_n_ Inplace API and remove log_ Inplace API
      
      * fix elementwise_add_ and elementwise_sub_ broadcast problem
      
      * elementwise inplace api give error message before run the op
      
      * use broadcast_shape in elementwise inplace op
      
      * add 8 inplace apis that is auto generated
      
      * add unittest for all inplace apis
      
      * add decorator for inplace apis in static mode
      
      * fix windows blas fail of exp inplace api, change array_equal to allclose
      
      * add flatten inplace api
      
      * add flatten unittest
      
      * fix flatten unittest
      
      * add decorator
      
      * fix grad.numpy in test_pylayer_op
      
      * unsupport softmax_with_cross_entropy_
      
      * add test_inplace_softmax_with_cross_entropy to static_mode_white_list
      
      * delete __all__ in inplace_utils
      
      * delete activation inplace function and add Tensor.inplace_func
      
      * change paddle.inplace_ to Tensor.inplace_
      
      * fix little problem
      
      * add paddle in inplace_utils
      308073de
  25. 27 4月, 2021 1 次提交
  26. 15 1月, 2021 1 次提交
    • P
      Add Inplace strategy (Output reuse Input Varbase) in dygraph (#30103) · 13d75736
      pangyoki 提交于
      * add view strategy on squeeze,unsqueeze,reshape,flatten
      
      * add squeeze unittest
      
      * add unittests
      
      * use View strategy as name rather than Reuse Allacation
      
      * fix view api doc
      
      * fix format
      
      * use core.ops when input of reshape2 is Tensor
      
      * fix test_cross_entropy_loss error because of reshape2
      
      * fix test_cross_entropy_loss error because of reshape2
      
      * add inplace strategy
      
      * add elementwise_add sub
      
      * let backward op not use inplace
      
      * grad op do not use inplace
      
      * fix memory increase error and add leaf error message
      
      * delete selected_rows
      
      * change op_function
      
      * little change
      
      * solve HandleViewBetweenInputAndOutput
      
      * add unittest and leaf error message
      
      * merge view error
      
      * optimize op_function_generator format and support sum inplace op
      
      * fix format of basic_engine
      
      * fix format for framework
      
      * little change of variable wrapper
      
      * add reshape, squeeze, unsqueeze, scatter api
      
      * add relu elu tanh softmax inplace api
      
      * fix test_squeeze_op unittest
      
      * fix test_relu_op unittest
      
      * fix comment problems
      
      * delete sample code of inplace api
      
      * add reference of grad_pending_nodes in basic_engine
      
      * fix unittest name
      
      * add inplace apis into wlist
      
      * fix error message
      
      * add PADDLE_ENFORCE for set grad op twice
      
      * fix head file error
      13d75736
  27. 21 12月, 2020 1 次提交
  28. 17 12月, 2020 2 次提交
    • C
      add conj op for complex types (#29527) · 71063b81
      chentianyu03 提交于
      * add conj op for complex types
      
      * add conj for complex types
      
      * add more test case
      
      * add conj_op test
      
      * modify conj api and impl
      
      * add complex type for fill_constant_op xpu
      
      * add setConstant for complex type
      
      * remove complex conj test file
      
      * user define grad for test_conj_op
      
      * add test case for static mode of conj api
      
      * modify conj doc
      
      * change input args name to x
      
      * remove useless codes
      
      * conj support real types
      
      * add conj test case for real number
      71063b81
    • C
      [Complex] Add real & imag op and api for complex tensor (#29672) · 6cfa59de
      Chen Weihang 提交于
      * add complex real op & api & unittest
      
      * add imag op & api & unittest
      
      * refactor op impl
      
      * revert simplify writing due to complile failed
      
      * polish details
      
      * polish grad op code
      6cfa59de
  29. 09 12月, 2020 2 次提交
  30. 27 11月, 2020 1 次提交
  31. 19 11月, 2020 1 次提交