csukuangfj
first commit
477da44
# How to use custom OP function
## Model Source
The model and YOLOX version used in this example come from the following open source project: https://github.com/airockchip/YOLOX
Yolox_s Download link: [yolox_s.onnx](https://ftrg.zbox.filez.com/v2/delivery/data/ec1c6f44f8c24155875ac5bce7aa6b3c/examples/yolox/yolox_s.onnx)
## Script Usage
*Usage:*
```
python test.py
```
*Description:*
- The default target platform in script is 'RK3588', please modify the 'target_platform' parameter of 'rknn.config()' according to the actual platform.
## Processes
The process of this example is as follows:
1. Edit the original ONNX model and save the custom ONNX model. Take Sigmoid OP as an example. Users can replace any OP with their own custom OP in ONNX model.
2. Init RKNN.
3. Register custom OP cstSigmoid.
4. Convert custom ONNX model to RKNN model.
5. Infer RKNN model in simulator.
6. Save the picture of results.
7. Release RKNN resource.
## Expected Results
1. Get an ONNX model named yolox_s_custom.onnx with cstSigmiod OP.
2. Get a RKNN model named yolox_s_custom.rknn.
3. Get a picture of detection results named result.jpg.
![Detection Results](result_truth.jpg)
- Note: Different platforms, different versions of tools and drivers may have slightly different results.