onnxruntime/docs/reference/execution-providers/RKNPU-ExecutionProvider.md
Scott McKay 9e8d795344
Update ORT Mobile documentation (#7874)
* Update ORT Mobile documentation for both the pre-built package and custom build usage
Add info on pre-built package and CoreML EP
Refer to operator kernels and contrib ops documentation in github so we can point to the version specific content
Tweak some aspects like not specifying nav_order in places (items sort alphabetically by default)

* merge previous unmerged ios doc updates

* Address PR comments

* Minor tweaks

* Address PR comments

Co-authored-by: Guoyu Wang <wanggy@outlook.com>
2021-06-01 21:21:41 -07:00

90 lines
No EOL
1.8 KiB
Markdown

---
title: RKNPU
parent: Execution Providers
grand_parent: Reference
---
# RKNPU Execution Provider
*PREVIEW*
RKNPU DDK is an advanced interface to access Rockchip NPU. The RKNPU Execution Provider enables deep learning inference on Rockchip NPU via RKNPU DDK.
## Contents
{: .no_toc }
* TOC placeholder
{:toc}
## Build
For build instructions, please see the [BUILD page](../../how-to/build/eps.md#rknpu).
## Usage
**C/C++**
To use RKNPU as an execution provider for inferencing, please register it as below.
```
Ort::Env env = Ort::Env{ORT_LOGGING_LEVEL_ERROR, "Default"};
Ort::SessionOptions sf;
Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_RKNPU(sf));
Ort::Session session(env, model_path, sf);
```
The C API details are [here](../api/c-api.md).
## Support Coverage
### Supported Platform
{: .no_toc }
* RK1808 Linux
*Note: RK3399Pro platform is not supported.*
### Supported Operators
{: .no_toc }
The table below shows the ONNX Ops supported using the RKNPU Execution Provider and the mapping between ONNX Ops and RKNPU Ops.
| **ONNX Ops** | **RKNPU Ops** |
| --- | --- |
| Add | ADD |
| Mul | MULTIPLY |
| Conv | CONV2D |
| QLinearConv | CONV2D |
| Gemm | FULLCONNECT |
| Softmax | SOFTMAX |
| AveragePool | POOL |
| GlobalAveragePool | POOL |
| MaxPool | POOL |
| GlobalMaxPool | POOL |
| LeakyRelu | LEAKY_RELU |
| Concat | CONCAT |
| BatchNormalization | BATCH_NORM |
| Reshape | RESHAPE |
| Flatten | RESHAPE |
| Squeeze | RESHAPE |
| Unsqueeze | RESHAPE |
| Transpose | PERMUTE |
| Relu | RELU |
| Sub | SUBTRACT |
| Clip(0~6)| RELU6 |
| DequantizeLinear | DATACONVERT |
| Clip | CLIP |
### Supported Models
{: .no_toc }
The following models from the ONNX model zoo are supported using the RKNPU Execution Provider
**Image Classification**
- squeezenet
- mobilenetv2-1.0
- resnet50v1
- resnet50v2
- inception_v2
**Object Detection**
- ssd
- yolov3