1. 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
  2. 26 4月, 2021 1 次提交
  3. 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
  4. 11 1月, 2021 1 次提交
  5. 30 11月, 2020 1 次提交
    • L
      Check whether there is any inplace operation affecting gradient calculation. (#27901) · 865a4598
      liym27 提交于
      * Add a class TensorInplaceVersion to count the inplace version and put it in framework::Tensor instead of Allocation or Variable.
      
      * Add a new attribute `_inplace_version` for VarBase.
      
      * Raise exception if an inplace operation can result in incorrect gradient computation.
      
      * Add a new interface _bump_inplace_version() for VarBase to bump the version whenever the Tensor is modified through an inplace operation.
      
      * For api assign, call _bump_inplace_version() when it's an inplace operation inn dynamic mode.
      
      * Use original var_wrapper if the inplace_version is not changed.
      
      * Replace SnapshotVarWrapperList with SnapshotVarWrapper to optimize performane.
      865a4598