* [Relay] [Quantization] WIP - Common files for the qauntization work. * [Relay] [Quantization] WIP - Prototyping requantize op. * Requantize operator implementation. Requantize converts one quantized tensor representation to another quantized representation. The PR has following implementation features - Requantize operator defined in qnn namespace - relay.qnn.requantize - Lowering of the requantize to exisiting Relay operators - Integer fixed point implementation of requantize - Two rounding modes - FE_UPWARDS (round towards infinity) and FE_AWAY_FROM_ZERO (std::round behavior) - Floating point implementation as well, that can act as reference or can be used for devices when FP32 computation is not used. - Unit test cases Relevant Issue - https://github.com/dmlc/tvm/issues/2351 Credit to TFLite and GemmLowp to provide reference implementations. * Typo and lint fixes. * Doc fix. * Uncommenting the lint script (fixing mistake). * Modifying the unit tests. * Moving C++ files into src/relay/qnn * Moving python files to python/tvm/relay/qnn. Some minor fixes. * Moving the attrs.h inside the include directory. * Pushing files that I forgot earlier. Changing util location. * Incorporating comments. API change. Lint fixes. * Modifying the GetFixedPointMultiplierShift API as per comments. * Forgot the dialect change. * Changing rewrite to qnn_lower. * Renaming Quantize to Qnn for clarity. * Remove use_int_domain. * Incorportaing review comments. * Adding API doc for QNN dialect. * Move the qnn_lower pass to transform namespace. * Moving from expr to module. Adding namespace in C++. * Minor sentence rewrites. Added qnn namespace. * Added the API doc. * Chanding default out_dtype to int8. Adding a test with in/out_dtype as uint8. * Style fixes. Better error messages. * Adding documentation. * More documentation fixes. * Adding out dtype check for requantize. * Adding corner case for FP32 to fixed point conversion. * Adding extra line. * Documentation fix. * Adding static inline. * Incorporating jackwish comment. Removed idtype from requantize lowering. * Removing Quantize/Dequantize code. Restricting Requantize to (u)int8/int32. * Style fixes. * Fix the docs. * Move to Legalize API.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
benchmarking | Loading commit data... | |
test_adt.py | Loading commit data... | |
test_any.py | Loading commit data... | |
test_autotvm_task_extraction.py | Loading commit data... | |
test_backend_compile_engine.py | Loading commit data... | |
test_backend_graph_runtime.py | Loading commit data... | |
test_backend_interpreter.py | Loading commit data... | |
test_change_batch.py | Loading commit data... | |
test_cmp_op.py | Loading commit data... | |
test_cpp_build_module.py | Loading commit data... | |
test_debug.py | Loading commit data... | |
test_error_reporting.py | Loading commit data... | |
test_expr_functor.py | Loading commit data... | |
test_feature.py | Loading commit data... | |
test_ir_bind.py | Loading commit data... | |
test_ir_module.py | Loading commit data... | |
test_ir_nodes.py | Loading commit data... | |
test_ir_op.py | Loading commit data... | |
test_ir_parser.py | Loading commit data... | |
test_ir_text_printer.py | Loading commit data... | |
test_ir_well_formed.py | Loading commit data... | |
test_op_grad_level1.py | Loading commit data... | |
test_op_grad_level2.py | Loading commit data... | |
test_op_grad_level3.py | Loading commit data... | |
test_op_level1.py | Loading commit data... | |
test_op_level10.py | Loading commit data... | |
test_op_level2.py | Loading commit data... | |
test_op_level3.py | Loading commit data... | |
test_op_level4.py | Loading commit data... | |
test_op_level5.py | Loading commit data... | |
test_op_level6.py | Loading commit data... | |
test_param_dict.py | Loading commit data... | |
test_pass_alpha_equal.py | Loading commit data... | |
test_pass_alter_op_layout.py | Loading commit data... | |
test_pass_annotation.py | Loading commit data... | |
test_pass_canonicalize_cast.py | Loading commit data... | |
test_pass_check_kind.py | Loading commit data... | |
test_pass_combine_parallel_conv2d.py | Loading commit data... | |
test_pass_dead_code_elimination.py | Loading commit data... | |
test_pass_eliminate_common_subexpr.py | Loading commit data... | |
test_pass_eta_expand.py | Loading commit data... | |
test_pass_fold_constant.py | Loading commit data... | |
test_pass_fold_scale_axis.py | Loading commit data... | |
test_pass_fuse_ops.py | Loading commit data... | |
test_pass_gradient.py | Loading commit data... | |
test_pass_legalize.py | Loading commit data... | |
test_pass_mac_count.py | Loading commit data... | |
test_pass_manager.py | Loading commit data... | |
test_pass_partial_eval.py | Loading commit data... | |
test_pass_quantize.py | Loading commit data... | |
test_pass_simplify_inference.py | Loading commit data... | |
test_pass_to_a_normal_form.py | Loading commit data... | |
test_pass_to_cps.py | Loading commit data... | |
test_pass_to_graph_normal_form.py | Loading commit data... | |
test_pass_unmatched_cases.py | Loading commit data... | |
test_pass_vars.py | Loading commit data... | |
test_py_converter.py | Loading commit data... | |
test_qnn_requantize.py | Loading commit data... | |
test_type_infer.py | Loading commit data... | |
test_type_solver.py | Loading commit data... | |
test_typecall.py | Loading commit data... | |
test_vm.py | Loading commit data... | |
test_vm_serialization.py | Loading commit data... |