The KaNN™ Model Zoo repository offers a collection of neural network models ready to compile & run on Kalray's MPPA® manycore processor. Coolidge V2, the 3rd and latest generation of our MPPA®, is a dedicated processor for AI applications. KaNN™ Model Zoo complements the KaNN™ SDK, which streamlines model generation and optimizes AI performance on Kalray's processors.
We are pleased to announce that our models are available on our Kalray space
Example of use, once SW has been configured (described here):
# Generate model representation and run inference on MPPA
kann run --from-yaml ./networks/object-detection/yolov8/onnx/yolov8n_f16.yaml
# ... observe the output to consider the global and detailed performance
# Run model representation into a video pipeline
./run demo generated_kv3_2_YOLOv8n_onnx_5c_fp16 ./utils/sources/cat.jpg
# Evaluate a model for object-detection on dataset COCO128
./evaluate generated_kv3_2_YOLOv8n_onnx_5c_fp16 --metrics=mAP --dataset=coco128
# .. wait for statistics
Neural Networks are grouped in this repository by applications and/or types:
- Classification: DenseNet, EfficientNet, Inception, MobileNet, NasNet, ResNet, RegNet, SqueezeNet, VGG
- Object Detection: EfficientDet, RetinatNet, SSD, YOLO
- Segmentation: DeeplabV3+, Fully Convolution Network (FCN), U-Net, YOLO
- Vision-transformers: Vit-base, MobileVit, SegFormer
To quickly deploy a neural network on the MPPA®, a WIKI note is available.
The examples below illustrate the kind of predictions obtained for each application type:
Classification (e.g. SqueezeNet) |
Object Detection (e.g. YOLO11s) |
Segmentation (e.g. Deeplabv3+) |
---|---|---|
![]() |
![]() |
![]() |
*images have been generated from this repository and KaNN™ SDK solution (ACE 6.1.0)
Kalray Neural Network (KaNN™) is a SDK included in the AccessCore Embedded (ACE™) compute offer to optimize AI inference on MPPA®. It is composed by:
- KaNN™ generator : A python wheel to parse, optimize and paralellize an intermediate representation of a neural network. Thanks to the runtime, it gives you then the opportunity to run the algorithm directly on the MPPA®
- KaNN™ runtime : Optimized libraries (in ASM/C/C++) to execute each operation node.
Important
ACE™ 6.1.0 | KaNN™ 5.6.0 supports: ONNX framework only.
-
Neural networks are available on our Hugging face plateform 🤗 HERE. Do not hesitate to check model card for details of implementation, sources or license.
-
TensorFlow and TensorFlowLite is nolonger suppoerted from ACE™ version >=6.0.0. All TF networks of the KaNN™ Model Zoo have been converted to ONNX format with tf2onnx tools.
-
To generate a neural network compatible for Kalray processor (MPPA®):
- in FP16, please refer to onnx model (pointed by
<model>_f16.yaml
configuration file) - in INT8/FP16, use QDQ-model (pointed by the
<model>_i8.yaml
configuration file)
- in FP16, please refer to onnx model (pointed by
Tip
Interested to run faster ? please contact our support to optimize your use case at [email protected]
To quickly deploy a neural network on the MPPA®, a WIKI note is available:
- KaNN™ framework description
- Prerequisites: SW environment & configuration
- How models are packaged
- Generate a model to run on the MPPA®
- Evaluate the neural network inference on the MPPA®
- Run the neural network in a video pipeline
- Neural networks accuracy and associated metrics
- Custom Layers for extended neural network support
- Jupyter Notebooks
- Automated tests, benchmark
- x86_64 CPU
- DDR RAM >= 8 GB
- HDD disk >= 32 GB
- PCIe >= Gen3, Gen4 x16 recommended
MPPA Coolidge2 product brief is available here
KALRAY Products | links | TFLOPs (FP16) | TOPs (INT8) |
---|---|---|---|
TC4 | 80 | 160 | |
K300 | 20 | 40 |
*data are provided for MPPA frequency @ 1.0GHz (scalable) **compute capabilities (FLOPs/OPs) are given for dense tensors