Skip to main content

4.1 Demo Zoo Overview

Overview​

The Bianbu AI Demo Zoo is a collection of sample projects developed by SpacemiT. It provides reference implementations for deploying various deep learning models on K1 series chips and demonstrates an end-to-end inference workflow.

The project is organized into two main branches:

  • Computer Vision (CV): Covers tasks such as image classification, object detection, and face recognition.
  • Natural Language Processing (NLP): Supports typical NLP tasks (see repository for details).

Both branches support C++ and Python, making them suitable for real-world deployment scenarios.

  • Project repository: AI Demo Zoo

  • Supported models: For details, see the full Model List. Currently, it covers common models such as:

    • Classification: ResNet, MobileNet
    • Detection: YOLOv5, YOLOX
    • Face Recognition: ArcFace

Demos​

Most models provide inference examples in both Python and C++. Download the required model weights and test data before running the demos. See README.md for step-by-step instructions.

Python Demo​

Use ResNet image classification as an example:

cd python
python test_resnet.py # Uses the ResNet50 model by default.

After the model finishes running, it outputs the predicted class labels.

C++ Demo​

cd cpp
mkdir build
cd build
cmake ..
make -j8
./resnet_demo --model /path/to/resnet50.onnx --image /path/to/image.jpg

After running the demo, the prediction results are also output in the terminal. You can combine this with OpenCV to render the classification labels.

Supported Model List​

Model CategorySpecific ModelInput Size
EfficientNetEfficientNet_b1[1, 3, 224, 224]
InceptionInception_v1[1, 3, 224, 224]
Inception_v3[1, 3, 229, 229]
MobileNetMobileNetv2[1, 3, 224, 224]
ResNetResNet50[1, 3, 224, 224]
YOLOv5YOLOv5n[1, 3, 640, 640]
YOLOv6YOLOv6n[1, 3, 320, 320]
YOLOv8YOLOv8n[1, 3, 320, 320]
YOLOv8n[1, 3, 192, 320]
YOLOv11YOLOv11n[1, 3, 320, 320]
NanoTrackNanoTrack[1, 3, 255, 255]
ArcFacearcface_mobilefacenet[1, 3, 320, 320]
YOLOv5-faceYOLOv5n-face[1, 3, 320, 320]
CLIPCLIPDynamic input
SAMSAM[1, 3, 1024, 1024], [1, 1, 256, 256]
FCNFCN[1, 3, 512, 512]
SwinSwin-Tiny[1, 3, 224, 224]
UNetUNet[1, 3, 512, 512]
YOLO-WorldYOLOv8s-World[1, 3, 320, 320]
YOLOv8-OBBYOLOv8n-OBB[1, 3, 320, 320]
YOLOv8-SegYOLOv8n-Seg[1, 3, 320, 320]
YOLOv8-PoseYOLOv8n-Pose[1, 3, 320, 320]
MobileSAM1MobileSAM1[1, 3, 1024, 1024], [1, 1, 256, 256]
YOLOEYOLOE[1, 3, 320, 320]