2.1. OpenExplorer Introduction

2.1.1. What is OE

OE is the abbreviation of OpenExplorer, which is an full lifecycle development platform based on D-Robotics’s self-developed computing platform.

It mainly includes three functional modules: model compilation optimization toolset, algorithm warehouse and application development SDK. The application reference solutions developed based on these three functional modules provide case supports for smart driving, smart IoT and other industry solutions.

  1. Model compilation optimization toolset: It focuses on intelligent business scenarios, including a series of software toolsets involved in completing the algorithmic model transformation and compilation process, providing model quantization, optimization, compilation, debugging and other functions.

  2. Algorithm warehouse: It fits the basic algorithmic structure of the current robotics field, and the key business algorithmic technology points, D-Robotics provides a wealth of open source best practices, empowering D-Robotics partners to develop their own smart products faster and more economically.

  3. Application Development SDK: It provides rich basic interfaces and tools to support the deployment of business algorithms on the Sunrise platform, which can completely support the whole process of customer deployment in simulation and physical environment.

OE provides D-Robotics partners with rich and diverse algorithm resources, flexible and efficient development tools, and easy-to-use development frameworks. The features and advantages of OE are as follows:

../../../_images/learn_oe_2.png

To help you deploy various solutions to a series of D-Robotics dev boards, we provide a full-volume development package, called OE package, which integrates the dev board system image, development environment deployment, application reference solution sample code, user manuals, etc. After you get the OE package, you can first follow the steps below to understand the OE:

1.First refer to Release Content for the directory structure of the release package.

2.Then, install/upgrade board-side system image.

3.Next, refer to Post-training Quantization (PTQ) , Quantized Awareness Training (QAT) and Embedded Application Development to complete the entire process of model conversion and deployment.

For more tutorials on using the OE package, please refer to the instruction manual below. We believe D-Robotics’s OE package can make your development more efficient and easier!

2.1.2. Release Content

2.1.2.1. package

The package directory contains some base libraries and components for the distribution to run.

  • package.board

    package.board contains the board-side executables.

    • hrt_model_exec is a model execution tool that can be used directly on the dev board to evaluate the inference performance of the model and obtain model information, which provides funcitons such as infer, perf for model performance analysis, and model_info for viewing model information.

    • hrt_bin_dump is the layer dump tool for the model, which outputs binary files.

    • install.sh is an installation script that installs the hrt tool to the specified dev board with one click.

  • package.host

    The package.host folder contains the environment dependencies and tool dependencies for the distribution in the x86 development environment. By executing the script install.sh in this directory, you can install all environment and tool dependencies on the development machine. By executing the script resolve.sh in this directory, you can download the cross-compilation tools and torch etc. dependencies.

2.1.2.2. samples

The samples contains ai_benchmark, ai_toolchain and model_zoo .

  • ai_benchmark provides evaluation samples of common classification, detection, and segmentation models, including performance evaluation and accuracy evaluation.

  • ai_toolchain provides a series of samples of some model algorithms (horizon_model_train_samples: samples of floating-point model training frameworks; horizon_model_convert_sample: a conversion sample for floating-point to fixed-point models; horizon_runtime_sample: board deployment sample for fixed-point models).

  • model_zoo is a model library that is used to place the original model and runtime model for the toolchain sample model compilation.

2.1.2.3. resolve_all.sh

Script for automatically downloading all downloadable dependencies within the OE package.

Running this script will sequentially download the following:

1.Execute resolve.sh under the package/host path to download the cross-compilation tools and torch etc. dependencies.

2.Execute resolve_ai_benchmark_ptq.sh under the samples/ai_toolchain/model_zoo/runtime/ai_benchmark path to download the bin model used on the board.

3.Execute resolve_ai_benchmark_qat.sh under the samples/ai_toolchain/model_zoo/runtime/ai_benchmark path to download the hbm model used on the board.

4.Execute resolve_runtime_sample.sh under the samples/ai_toolchain/model_zoo/runtime/horizon_runtime_sample path to download the bin model used on the board for the corresponding sample.

5.Execute all the 00_init.sh scripts in the samples/ai_toolchain/horizon_model_convert_sample folder to download the calibration dataset and the original model for the sample.

2.1.2.4. run_docker.sh

In case the evaluation dataset and the required docker download for the OE package are completed, you can use the command sh run_docker.sh {dataset path} to automatically mount the OE package and start the docker.