1. 27 6月, 2018 1 次提交
    • P
      bnorm+relu fuse for mkldnn (inference) (#11434) · 9a15c923
      pzelazko-intel 提交于
      * bnorm+relu fuse for mkldnn
      
      * separate fuse_relu function
      
      * bug fix
      
      * proper while range in inference_transpiler
      
      * description fix
      
      * review fix
      
      * review fix
      
      * unit test for fwd batch norm+relu MKLDNN fuse
      9a15c923
  2. 20 6月, 2018 1 次提交
  3. 11 6月, 2018 2 次提交
  4. 07 6月, 2018 1 次提交
    • M
      Mkldnn layout (#11040) · 3ff9ba0e
      mozga-intel 提交于
      * Add MKLDNN layout support in Paddle
      
      Add MKLDNN layout in Paddle so that MKLDNN friendly memory layout
      can be used in MKLDNN enabled OP kernel. Before this commit, NCHW
      is hardcode to be used in all MKLDNN op kernels. As a result,
      non-optimized execution path is selected in MKLDNN primitive which
      bring worse performance.
      Besides framework change, three MKLDNN OP kernels were updated
      for using new MKLDNN layout. They are conv/pool2d/batch_norm.
      Other MKLDNN OP kernels need be also updated in similar way to
      achieve best performance.
      
      * Add MKLDNN layout support in activation OP
      
      * Don't populate layout from input to output when kMKLDNN in
      
      * Refine pool mkldnn op kernel
      
      * MKLDNN layout
      
      * Remove the inferitance from tensor file
      
      * MKLDNN layout: refactoring
      
      * Remove additional #define to register new operator
      
      * Prepare mkldnn tests to work with layout
      3ff9ba0e
  5. 08 5月, 2018 1 次提交
    • Y
      Clean OpProtoAndCheckerMaker · 0e78cb69
      Yu Yang 提交于
      Do not use ctor
      
      * Reduce line of codes.
      * We can use virtual function for Maker now.
      * The implementation does not care what maker holds, it is easier to
      refactor later.
      0e78cb69
  6. 03 5月, 2018 1 次提交
    • T
      MKLDNN implementation of batch normalization (#9904) · 4a497b82
      Tomasz Patejko 提交于
      * Initial implementation of forward pass for MKLDNN batch norm
      
      * Added attributes for MKLDNN batch norm
      
      * MKLDNN batch norm forward pass passes unittest. Started working on backward
      
      * Backward pass for MKLDNN batch norm added
      
      * MKLDNN batch norm: scoring added to forward pass
      
      * MKLDNN batch norm: bias as input added; handling AnyLayout when kernel is looked up
      
      * MKLDNN batch norm: python unit tests added; mkldnn tests removed
      
      * MKLDNN batch norm: changes required by cpplint
      
      * MKLDNN batch norm: refactoring the operator
      
      * MKLDNN batch norm: saved variance inversed in backward pass for correct execution of MKLDNN unit tests
      
      * MKLDNN batch norm: refctoring, function for static/const cast to void* added
      
      * MKLDNN batch norm: remove AnyLayout from batch norm
      
      *  MKLDNN batch norm: only NCHW format is supported. Unittests refactored
      
      * MKDNN batch norm: use_mkldnn added to attributes
      
      * MKLDNN batch norm: AnyLayout removed from unittest
      
      * MKLDNN batch norm: added CUDNN defines to batch norm
      
      * MKLDNN batch norm: undefined data_format variable corrected
      
      * MKLDNN batch norm: use_cudnn added, use of setUp method for configuring attributes
      
      * MKLDNN batch norm: added use_cudnn attribute to batch norm operator
      
      * MKLDNN batch norm: correcting batch norm unit tests for MKLDNN
      
      * MKLDNN batch norm: MKLDNN tests moved to another file; reverting changes for saved variance not being inverted
      
      * Change default layout to NCHW
      
      * MKLDNN batch norm: init_kernel_type method added to unit tests
      
      * MKLDNN batch norm: style changes
      
      * MKLDNN batch norm: unit tests refactored
      
      * MKLDNN batch norm: added use_mkldnn attribute to batch norm python interface
      4a497b82
  7. 02 5月, 2018 1 次提交
  8. 11 4月, 2018 1 次提交
  9. 21 3月, 2018 1 次提交
  10. 19 3月, 2018 2 次提交
  11. 12 2月, 2018 1 次提交
  12. 10 2月, 2018 2 次提交
  13. 08 1月, 2018 1 次提交
    • Q
      cpu gpu transform function (#7191) · 0f353ab4
      Qiao Longfei 提交于
      * add rename guard
      
      * add device_data_transform
      
      * add device_data_transform_test
      
      * modify GetExpectedKernelType
      
      * update operator.run
      
      * support test test_label_semantic_roles
      
      * optimize code
      
      * optimize code
      
      * rename GetActualKernelType to GetExpectedKernelType
      
      * fix chunk_eval_op and device_data_transform_test
      
      * add is_same_place to place
      
      * optimize code, refine rename_guard
      
      * refine rename guard, add GetKernelTypeForVar
      
      * optimize code
      
      * add some log
      
      * rename guard
      
      * use sub scope to create var
      
      * fix compile
      
      * add IsInitialized for Tensor
      
      * add VarIsTensor
      
      * fix op_registry_test
      
      * test
      
      * tmp disable priority
      
      * restore switch_kernel.md
      
      * code clean
      0f353ab4
  14. 04 1月, 2018 1 次提交
  15. 26 12月, 2017 1 次提交
  16. 25 12月, 2017 1 次提交
    • Q
      Impl kernel hint (#6883) · af0c4c45
      Qiao Longfei 提交于
      * init kernel hint
      
      * fix typo
      
      * rm unused code
      
      * add include in op_kernel.h
      
      * restore op_kernel since it will be moved to op_kernel_type
      
      * change force_cpu to use_cpu
      
      * fix compilation
      af0c4c45
  17. 22 12月, 2017 1 次提交
  18. 20 12月, 2017 1 次提交
  19. 12 12月, 2017 1 次提交
    • Q
      Refine device context (#6433) · 61ec0b95
      QI JUN 提交于
      There are mainly following fixes:
      
      - take `DeviceContext` as the template parameter of math functors and OpKernel instead of `Place`
      - remove `eigen_device` interface in base class  `DeviceContext`
      - remove `GetEigenDevice` interface in `ExecutionContext` and base class `DeviceContext`
      - remove unused `platform::EigenDeviceConverter`
      - rename `REGISTER_OP_GPU_KERNEL` to `REGISTER_OP_CUDA_KERNEL`
      - rename `USE_GPU_ONLY_OP` to `USE_CUDA_ONLY_OP`
      61ec0b95
  20. 28 11月, 2017 1 次提交
  21. 08 11月, 2017 2 次提交
  22. 05 11月, 2017 1 次提交
  23. 04 11月, 2017 1 次提交
    • Q
      Add acc test to image classification (#5336) · 906e2565
      Qiao Longfei 提交于
      * add acc layer
      * memory log level change from 3 to 10
      * use gaussian random to init conv parameters
      * use initializer
      * fix import
      * batch_norm use helper to create persistable var
      * refine code
      * train only 2 batches for test
      * use g_program and g_init_program
      * use XavierInitializer to init fc parameter
      906e2565
  24. 30 10月, 2017 1 次提交
    • Q
      03 image classification (#5192) · 0049ce04
      Qiao Longfei 提交于
      * add batch_norm_layer
      
      * add img_conv_group layer and test
      
      * add check to Tensor.type()
      
      * forward can run
      
      * with backward
      
      * change label data time from int32 to int64
      
      * refine code
      
      * follow comment
      0049ce04
  25. 25 10月, 2017 1 次提交
    • Q
      CPU Batch Norm Op (#4964) · ee998a9c
      Qiao Longfei 提交于
      * init batch norm op
      
      * prepare input output
      
      * compute mean_out var_out save_mean save_var on CPU
      
      * active is test
      
      * use eigen to do computation
      
      * complete batch norm forward
      
      * set default momentum to 0.9
      
      * add batch norm grad op in CPU
      
      * add tensor_format and NHWC support, add python test
      
      * add test training
      
      * add batch norm gradient test
      
      * improve comment, fix foward Python UnitTest
      
      * add gradient test
      
      * fix eigen warning
      
      * follow name style
      
      * fix a bug
      
      * change float to T
      
      * add simple forward test
      
      * test with different place
      
      * add backward test
      
      * refine python test
      
      * remove old python test code
      
      * code clean
      
      * follow code style
      
      * update comment
      ee998a9c