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.

  1. Product Introduction
SectionSection Introduction
OpenExplorer IntroductionThis 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 OverviewThis section briefly describes the toolchain and the overall usage process.
  1. Key Concepts

This section provides you with some common key concepts and commonly used background knowledge.

  1. Environmental Deployment

This section describes the environment deployment that needs to be performed in advance in the development and runtime environments.

  1. Quick Start
SectionSection Introduction
PTQ and QAT IntroductionThis section briefly introduces the two quantification methods: PTQ and QAT.
Algorithm Model PTQ + On-board Deployment Quick StartThis 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.
  1. Post-training Quantization (PTQ)
SectionSection Introduction
PTQ Conversion Principle And ProcessThis section introduces you to the overall process of PTQ model conversion and details of the whole process.
PTQ Conversion Tools GuideThis section provides you with a detailed introduction to the PTQ toolkit provided by algorithm toolchain.
PTQ Conversion StepsThis 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 GuideThis 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 ResolutionsThis 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.
AppendixThis 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.
  1. Quantized Awareness Training (QAT)
SectionSection Introduction
IntroductionIn this section, we briefly introduce you to horizon_plugin_pytorch, a quantized perceptual training tool developed by Horizon based on PyTorch.
Terminology ConventionsThis section introduces you to some of the terminology that will be used in quantitative perception training.
Environmental DependenceThis section introduces you to the environment-dependent requirements for quantized awareness training.
QAT Quick StartThis 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.
TUTORIALThis section provides you with instructions to guide you through the Quantized Awareness Training development process.
Advanced TutorialThis 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 REFERRENCEThis section provides an introduction to the API interface for QAT.
Eager ModeThis 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.
  1. Model Performance/Accuracy Tuning Guide
SectionSection Introduction
Model Performance OptimizationThis 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 OptimizationThis 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 OptimizationThis 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.
  1. Unify Compute Platform (UCP)
SectionSection Introduction
OverviewThis 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 ProcessThis 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 DevelopmentThis 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 LibraryThis 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 IntroductionThis section introduces you to the data structures and interfaces related to task processing of the Unify Compute Platform.
UCP Performance Analysis ToolsThis section introduces you to the use of performance analysis tools in the Unify Compute Platform.
  1. Advanced Contents
SectionSection Introduction
Horizon Torch SamplesAs 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 ReferenceAs an advanced content, this section provides an introduction to the API interface for HBDK tools.
HBIR Operator DefinitionAs an advanced content, this section provides an explanation of the HBIR operator definition and general usage restrictions on the Horizon Computing Platform.
  1. Appendix
SectionSection Introduction
Toolchain Operator Support Constraint ListThis section provides a list of operators supported by Horizon, as well as their types, constraints, and general usage restrictions.
Dataset DownloadIn this section, we provide download links to the datasets that will be used when using the sample models for your reference.
Common AbbreviationsThis section introduces some common abbreviations and their full names and meanings in this document.