OE Document Introduction
This section provides a comprehensive guide to the development process for all developers using the S100 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
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. |
| 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, accuracy tune 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 data normalization 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 | This section 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 quantized awareness training. |
| Environmental Dependence | This section introduces you to the environment-dependent requirements for quantized awareness training. |
| 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. |
| 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 Eager Mode, the principles of FX Quantization, and operator fusion to help you further your understanding of quantized awareness training. |
| API Reference | This section provides an introduction to the API interface for QAT. |
| FAQ and Commnon Failure Resolutions | This section provides you with answers to some common questions about the QAT as well as generalized suggestions for solving common trouble-shooting phenomena. |
- Model Performance 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. |
| Efficient Model Design Advice | As an advanced content, this section includes general guides and recommendations for you to design efficient models on the S100 processor. |
- 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. |
| 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 S100 platform. |
| 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. |
| FAQ and Error Code | This section provides you with answers to some common questions during heterogeneous programming as well as error code description. |
- Model Deployment Practice Guidance
| Section | Section Introduction |
| Model Deployment Principle and Process | This section integrates the forward content to introduce you to the whole process from preparation to deployment of the model, which is interspersed with some introduction to the principles and typical scenarios of the common sample code, so that you can easily understand the process of model deployment and some of the necessary steps. |
| Model Deployment Practice Guidance Examples | In this section, we use the public version of ResNet18 as an example to illustrate typical scenarios in the PTQ pathway. This will help you understand the full process of an algorithmic model using the PTQ scheme quantization + on-board operation deployment practice. |
- Advanced Contents
| Section | Section Introduction |
| HMCT API Reference | As an advanced content, this section provides an introduction to the API interface for HMCT. |
| HBDK Tool API Reference | As an advanced content, this section provides an introduction to the API interface for HBDK tools. |
- Benchmark of Model Performance
This section introduces the model Benchmark data under certain test conditions, so that you can clearly understand the model performance.
- 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. |
| HBIR Operator Definition | This section provides you with an explanation of the HBIR operator definition and general usage restrictions on the Horizon Computing Platform. |
| Dataset Download | This section provide you with 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. |
| Community Quantity Articles | This section of the content, through the introduction of the algorithmic toolchain of some high-quality development articles, to provide you with some additional introduction to the algorithmic toolchain, convenient for you to find information and content learning. |
- License Agreement and Third-party Software Vulnerability Description