rknn_model_zoo  by airockchip

Model deployment examples for Rockchip platforms

Created 3 years ago
1,833 stars

Top 23.6% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides a comprehensive zoo of pre-trained neural network models optimized for deployment on Rockchip's NPUs. It targets embedded systems developers and researchers needing to accelerate AI workloads on Rockchip hardware, offering a wide range of models for tasks like object detection, image classification, and speech recognition, with Python and C++ inference examples.

How It Works

The zoo leverages the RKNN-Toolkit2 for model conversion, enabling the deployment of various deep learning architectures (e.g., YOLO, ResNet, Whisper) onto Rockchip's NPU platforms. Models are provided in RKNN format, supporting FP16 and INT8 quantization for performance and efficiency gains. The toolkit facilitates model export and inference via Python and C++ APIs, abstracting hardware-specific complexities.

Quick Start & Requirements

  • Installation: Requires cloning the repository and installing the RKNN-Toolkit2.
  • Prerequisites:
    • RKNN-Toolkit2 (see https://github.com/airockchip/rknn-toolkit2).
    • Android NDK (r18/r19 recommended) for Android demos.
    • Specific Linux GCC toolchains (e.g., gcc-linaro-6.3.1 for aarch64) for Linux demos.
    • Pre-trained model files available via a provided download link.
  • Setup: Compilation environment setup is critical and detailed in Compilation_Environment_Setup_Guide.md.

Highlighted Details

  • Supports a broad range of Rockchip platforms including RK3562, RK3566, RK3568, RK3576, RK3588, RV1126B, RV1103, RV1106, RV1109, RV1126, and RK1808.
  • Offers a diverse model catalog covering classification, object detection (YOLO variants), segmentation, OCR, speech recognition (Whisper, Wav2Vec2), and more.
  • Provides detailed performance benchmarks (FPS) across different Rockchip NPU models for various quantized models.
  • Includes build scripts (build-linux.sh, build-android.sh) for compiling inference demos tailored to specific targets and architectures.

Maintenance & Community

  • Regular updates with new models and platform support (e.g., recent additions include YOLO11, Zipformer, MMS-TTS).
  • Dependencies tied to specific RKNPU SDK versions (>=2.3.2 for latest).

Licensing & Compatibility

  • Licensed under the Apache License 2.0, permitting commercial use and integration with closed-source applications.

Limitations & Caveats

  • Compilation requires specific, potentially outdated, toolchains which may be challenging to set up.
  • Performance benchmarks are based on maximum NPU frequency and may not include pre/post-processing times.
  • Support for certain platforms (e.g., RV1103/RV1106) is noted as "limited."
Health Check
Last Commit

5 months ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
13
Star History
76 stars in the last 30 days

Explore Similar Projects

Starred by Aravind Srinivas Aravind Srinivas(Cofounder of Perplexity), Stas Bekman Stas Bekman(Author of "Machine Learning Engineering Open Book"; Research Engineer at Snowflake), and
4 more.

Awesome-pytorch-list by bharathgs

0.1%
16k
Curated list of PyTorch content on GitHub
Created 8 years ago
Updated 1 year ago
Feedback? Help us improve.