Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MRT Documentation #71

Open
wlt-cortex opened this issue Aug 13, 2020 · 0 comments
Open

MRT Documentation #71

wlt-cortex opened this issue Aug 13, 2020 · 0 comments
Assignees

Comments

@wlt-cortex
Copy link
Member

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:

  1. Add extra configuration file option explanations
  2. 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.
    • ...

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants