OE Document Introduction
This section provides a comprehensive guide to the development process for all developers using the Horizon J6 processor.
To give you a full understanding of the overall process, we recommend that you first go through this section, which briefly describes all the sub-sections.
1. OE Document Introduction (current section)
This section provides you with an overview of the contents of relevant sections and content jump links, as well as the recommended reading order of the document.
- Product Introduction
| Section | Section Introduction |
| OpenExplorer Introduction | This section introduces OpenExplorer, as well as a brief overview of the contents in the release package and some of the key concepts that may be referenced repeatedly as you read. |
| Toolchain Overview | This section briefly describes the toolchain and the overall usage process. |
- Key Concepts
This section provides you with some common key concepts and commonly used background knowledge.
- Environmental Deployment
This section describes the environment deployment that needs to be performed in advance in the development and runtime environments.
- Quick Start
| Section | Section Introduction |
| PTQ and QAT Introduction | This section briefly introduces the two quantification methods: PTQ and QAT. |
| Algorithm Model PTQ + On-board Deployment Quick Start | This section provides a quick start sample of algorithm model quantization + on board using the PTQ scheme to help you understand the basic process of the post-training quantization (PTQ) and on board deployment of the floating-point conversion toolchain. |
| Algorithm Model QAT + Deployment Quick Start | This section provides a quick start of algorithm model quantization + deployment using the QAT scheme to help you understand the basic process of the quantized awareness training (QAT) and deployment. |
- Post-training Quantization (PTQ)
| Section | Section Introduction |
| PTQ Conversion Principle And Process | This section introduces you to the overall process of PTQ model conversion and details of the whole process. |
| PTQ Conversion Tools Guide | This section provides you with a detailed introduction to the PTQ toolkit provided by algorithm toolchain. |
| PTQ Conversion Steps | This section provides instructions on how to use it from model preparation, model checking, prepare calibration data, model quantization and compilation, performance analysis, accuracy analysis, and so on. |
| PTQ Conversion Samples Guide | This section introduces conversion sample package of the horizon_model_convert_sample model and its usage instructions. Provide a quick sample of converting a floating-point model to a fixed-point model using the floating-point model conversion toolchain, including a single inference and accuracy verification sample. |
| FAQ And Common Failure Resolutions | This section provides you with answers to some common questions about the PTQ conversion process as well as generalized suggestions for solving common trouble-shooting phenomena. |
| Appendix | This section introduces the descriptions and analysis of norm_type related parameters and related calculation formulas, as well as the concept of each transformer used in image scaling and cropping, parameter descriptions and examples, and general suggestions for solving common abnormalities and failures. |
- Quantized Awareness Training (QAT)
| Section | Section Introduction |
| Introduction | In this section, we briefly introduce you to horizon_plugin_pytorch, a quantized perceptual training tool developed by Horizon based on PyTorch. |
| Terminology Conventions | This section introduces you to some of the terminology that will be used in quantitative perception training. |
| Environmental Dependence | This section introduces you to the environment-dependent requirements for quantized awareness training. |
| QAT Quick Start | This section provides a quick start of algorithm model quantization + deployment using the QAT scheme to help you understand the basic process of the quantized awareness training (QAT) and deployment. |
| TUTORIAL | This section provides you with instructions to guide you through the Quantized Awareness Training development process. |
| Advanced Tutorial | This section provides you with an introduction to the principles of FX Quantization, RGB888 data deployment, model segmentation deployment, and operator fusion to help you further your understanding of quantized perceptual training. |
| API REFERRENCE | This section provides an introduction to the API interface for QAT. |
| Eager Mode | This section provides you with an introduction to Eager mode, including an introduction to the differences with fx mode and an introduction to the usage process. |
- Model Performance/Accuracy Tuning Guide
| Section | Section Introduction |
| Model Performance Optimization | This section provides you with Horizon's recommendations and measures for improving the performance of a model when a performance analysis is performed and if the performance does not meet your expectations. |
| PTQ Model Accuracy Optimization | This section provides you with Horizon's recommendations and measures to improve the accuracy of the model when a PTQ conversion is performed and if the performance does not meet your expected. |
| QAT Model Accuracy Optimization | This section provides you with Horizon's recommendations and measures to improve the performance of the model when a QAT conversion is performed and if the performance does not meet your expected. |
- Unify Compute Platform (UCP)
| Section | Section Introduction |
| Overview | This section introduces you to the general introduction of application development in the Horizon platform, the methods to complete the deployment of vision processing and deep learning models using the Unify Compute Platform. |
| Vision Process | This section introduces you to the basics and interface introduction related to vision processing, which allows you to complete the invocation of visual operator and accelerate it using the relevant hardware. |
| Model Inference Development | This section introduces you to the basics of deploying deep learning models, the introduction to interfaces, the introduction to samples, Benchmark usage, and the introduction to end-side tools on the J6 platform. |
| High Performance Library | This section introduces you to the basics and interface introduction related to high performance library, which encapsulates some common high-performance operator implementations, and you can deploy the operator functions flexibility by calling the corresponding interfaces in the HPL module. |
| UCP Common API Introduction | This section introduces you to the data structures and interfaces related to task processing of the Unify Compute Platform. |
| UCP Performance Analysis Tools | This section introduces you to the use of performance analysis tools in the Unify Compute Platform. |
- Advanced Contents
| Section | Section Introduction |
| Horizon Torch Samples | As an advanced content, this section introduces Horizon Torch Samples, which is based on Pytorch deep-learning training tool, by describing their overview, framework, tutorials, examples, ModelZoo and API reference. |
| DSP Development Documentation | As an advanced content, this section introduces DSP development procedures and considerations by providing DSP introduction and describing the installation in Linux environment, the overall development process, etc. |
| HBDK Tool API Reference | As an advanced content, this section provides an introduction to the API interface for HBDK tools. |
| HBIR Operator Definition | As an advanced content, this section provides an explanation of the HBIR operator definition and general usage restrictions on the Horizon Computing Platform. |
- Appendix
| Section | Section Introduction |
| Toolchain Operator Support Constraint List | This section provides a list of operators supported by Horizon, as well as their types, constraints, and general usage restrictions. |
| Dataset Download | In this section, we provide download links to the datasets that will be used when using the sample models for your reference. |
| Common Abbreviations | This section introduces some common abbreviations and their full names and meanings in this document. |