rknn_model_zoo  by airockchip

Model deployment examples for Rockchip platforms

created 3 years ago
1,719 stars

Top 25.3% 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

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
7
Star History
249 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 19 hours ago
Feedback? Help us improve.