Add fake quantize op (#5690)
* init fakequantization op * add backward op for fake_quantization * add min_max_observer op and refine fake_quantization * fix min_max_observer bug * add moving_average_min_max_observer op * add test example for min_max_observer * add min_max_observer test * add moving_average_min_max_observer op test * fake quantization has bug * try to fix zero_point calc bug * fix test bug * fix quantize op bug * add docs for min_max_observer_op * add docs for moving_average_min_max_observer_op * refine doctest * build docs for quantization * refine doctest * fix moving_average_min_max_observer op * fix comments * add post quantization op * fix quantization op bug * add doctest * fix comments * fix comments * auto format by CI * fix bug * fix bn ci bug * fix doc bug Co-authored-by:oneflow-ci-bot <ci-bot@oneflow.org> Co-authored-by:
oneflow-ci-bot <69100618+oneflow-ci-bot@users.noreply.github.com>
Showing
- docs/source/nn.rst 5 additions, 0 deletionsdocs/source/nn.rst
- oneflow/core/autograd/gradient_funcs/fake_quantization.cpp 48 additions, 0 deletionsoneflow/core/autograd/gradient_funcs/fake_quantization.cpp
- oneflow/core/functional/functional_api.yaml 21 additions, 0 deletionsoneflow/core/functional/functional_api.yaml
- oneflow/core/functional/impl/quantization.cpp 158 additions, 0 deletionsoneflow/core/functional/impl/quantization.cpp
- oneflow/user/kernels/min_max_observer_kernel.cpp 1 addition, 1 deletiononeflow/user/kernels/min_max_observer_kernel.cpp
- oneflow/user/kernels/min_max_observer_kernel.cu 1 addition, 1 deletiononeflow/user/kernels/min_max_observer_kernel.cu
- oneflow/user/kernels/quantization_kernel.cpp 134 additions, 0 deletionsoneflow/user/kernels/quantization_kernel.cpp
- oneflow/user/kernels/quantization_kernel.cu 157 additions, 0 deletionsoneflow/user/kernels/quantization_kernel.cu
- oneflow/user/ops/quantization_op.cpp 118 additions, 0 deletionsoneflow/user/ops/quantization_op.cpp
- python/oneflow/nn/__init__.py 8 additions, 0 deletionspython/oneflow/nn/__init__.py
- python/oneflow/nn/modules/fake_quantization.py 118 additions, 0 deletionspython/oneflow/nn/modules/fake_quantization.py
- python/oneflow/nn/modules/min_max_observer.py 120 additions, 0 deletionspython/oneflow/nn/modules/min_max_observer.py
- python/oneflow/nn/modules/moving_average_min_max_observer.py 164 additions, 0 deletionspython/oneflow/nn/modules/moving_average_min_max_observer.py
- python/oneflow/nn/modules/quantization.py 118 additions, 0 deletionspython/oneflow/nn/modules/quantization.py
- python/oneflow/test/modules/test_fake_quantization.py 196 additions, 0 deletionspython/oneflow/test/modules/test_fake_quantization.py
- python/oneflow/test/modules/test_min_max_observer.py 147 additions, 0 deletionspython/oneflow/test/modules/test_min_max_observer.py
- python/oneflow/test/modules/test_moving_average_min_max_observer.py 194 additions, 0 deletions...flow/test/modules/test_moving_average_min_max_observer.py
- python/oneflow/test/modules/test_quantization.py 183 additions, 0 deletionspython/oneflow/test/modules/test_quantization.py
Please register or sign in to comment