
English | 简体中文
RDK Model Zoo is developed based on RDK, providing deployment routines for most mainstream algorithms. These routines include exporting D-Robotics .bin models and using Python APIs to infer D-Robotics .bin models. Some models also encompass data collection, model training, exportation, conversion, and deployment processes.
RDK Model Zoo currently provides reference for the following types of models:
Image Classification: ./samples/vision/classification
Object Detection: ./samples/vision
Instance Segmentation: ./samples/vision
Large Models: ./samples/llm
RDK Model Zoo supports the following platforms: - Supports RDK X5 (Bayse-e) - RDK S100 Model Zoo: https://github.com/d-Robotics/rdk_model_zoo_s
Recommended System Versions - RDK X5: RDK OS >= 3.2.3, Based on Ubuntu 22.04 aarch64, TROS-Humble.
Refer to the RDK User Manual to ensure the board can access the internet normally, ensuring one of the following conditions can be met.
Install the bpu_infer_lib library using pip.
For RDK X5:
pip install bpu_infer_lib_x5 -i http://sdk.d-robotics.cc:8080/simple/ --trusted-host sdk.d-robotics.cc
For RDK X3:
pip install bpu_infer_lib_x3 -i http://sdk.d-robotics.cc:8080/simple/ --trusted-host sdk.d-robotics.cc
Managed as Debian packages with system flashing.
sudo apt update # Ensure the archive.d-robotics.cc source is available
sudo apt install hobot-spdev
sudo apt show hobot-spdev
Included with system flashing, this is the most basic C API. Refer to the RDK User Manual Algorithm Toolchain section for obtaining OE packages, from which libdnn.so and its header files can be extracted.
Install jupyterlab:
pip install jupyterlab
Then use the following command to pull the Model Zoo repository:
git clone https://github.com/D-Robotics/rdk_model_zoo
Note: The default branch pulled by git clone is the RDK X5 branch. If you are using another product in the RDK series, switch branches using git checkout. For example, to switch to the RDK X3 branch, execute:
git checkout rdk_x3
After pulling, enter the Model Zoo directory:
cd rdk_model_zoo
Then start Jupyter Lab (note: replace the IP address with your actual login IP):
jupyter lab --allow-root --ip 192.168.1.10

After executing the command, click the link shown in the log while holding down Ctrl to enter Jupyter Lab (as shown below). Double-click 'demos' to select models and experience the RDK Model Zoo.

Developers can navigate to the corresponding module to experience model deployment on RDK development boards.
Selecting a model's notebook in Jupyter Lab will bring up an interface similar to the following:

Taking the YOLO World model as an example, clicking the double triangle button runs all cells. Scrolling down reveals the results:

Developers can also choose to run cells individually by pressing Shift + Enter, which executes the current cell and moves to the next.
Use the VSCode Remote SSH plugin to log into the board remotely, open the folder corresponding to the RDK Model Zoo repository, enter the specific model folder, view READMEs, edit programs, and run them.

Note: All program relative paths start from the model's directory.

D-Robotics Developer Community
RDK X3 Algorithm Toolchain Community Manual
RDK X3 OpenExplore Product Release
RDK Ultra Algorithm Toolchain Community Manual
RDK Ultra OpenExplore Product Release
RDK X5 Algorithm Toolchain Community Manual
RDK X5 OpenExplore Product Release
If you have any questions or encounter issues, we warmly welcome you to post them on the D-Robotics Developer Community or submit an issue/comment directly in this repository. Your feedback is invaluable to us, and we are always eager to assist you and improve our resources.
Please modify the resolution in the preprocess.py file located in the same directory to match the resolution of the ONNX model you intend to convert. Delete all calibration datasets and rerun script 02 to regenerate the calibration dataset. Currently, the calibration dataset for this example comes from the ../../../01common/calibration data/coco directory and is generated in the ./calibration_data_rgb_f32 directory.
Hello, no.
Yes, but it's not recommended.
Under the PTQ scheme, models need to be exported to ONNX or Caffe first, then converted to bin models. Under the QAT scheme, a new Torch model needs to be built for quantization-aware training, converting from pt models to hbm models.
During training, follow the public version entirely and only modify when exporting. This ensures that the training loss function calculations align, and deployment will match the post-processing code running on the board.
During model conversion, operators that cannot be quantized or do not meet BPU constraints will fallback to CPU computation. Specifically, for a fully BPU operator-based bin model, there will be quantization and dequantization nodes before and after the model, responsible for converting float to int and vice versa, which are computed by the CPU.
$ claude mcp add rdk_model_zoo \
-- python -m otcore.mcp_server <graph>