-
Notifications
You must be signed in to change notification settings - Fork 9
Description
MRT Developer User Guide
Usage Guideline
We need to improve our usage guide for MRT developers since two quantization
approaches have been supported:
- Configuration File
- Developer API
The two relative documentation has started to setup but is far from the complement.
The configuration file is half-done project and hard to use, whereas the developer
API doesn't have an guideline to help AI developers to familiarize.
Usage guideline should be written at the file : docs/guide/dev_guide.rst
and all the
MRT module API docs are located at docs/mrt/api
. Please reference to right class
documentation if necessary.
The existed documentation about configuration and developer API is the file :
docs/mrt/mrt.md
, please reconstruct the usage logic as mentioned above.
Jobs to be done:
- Add extra configuration file option explanations
- Add the guideline for AI developers
- The
transformer
module API and usage, which is related with quantization. - The
dataset
module including pre-defined dataset and custom dataset usage,
and what's about the dataset format support? - The
utils
module functions that helps developers to simplify the program. - The
context
basic structure. - ...
- The
Design Architecture
The section about the design pattern should be put at docs/guide/arch.rst
file.
Before we introduce the MRT, maybe it's important to acknowledge the dependent
MxNet framework, it's model persistence, symbol graph organization, graph to runtime,
... etc.
We need to introduce the quantization procedure as we have implemented in source code,
multiple graph pass, calibration, quantize, ..., etc. How do the all integral module combile and
work?
- Quantization procedure
- Multiple graph pass
- Different operators' quantization logic
Besides, in this section, the design pattern for source code is another point to be exposition.
Such as the Transformer
abstract class, it's function and registry, the Dataset
abstract
class and specific dataset inheritance.
- Pre-defined and custom dataset.
- Abstract transformer.
- Name manager and it's design reason.
- Transformer pass introduction (mainly in
python/mrt/tfm_pass.py
)
and some helper functions. - Log verbosity and source code logic.
Other technology details
- Tensorflow to MxNet
- Unit test
- Pre-quantized model zoo