|
|
--- |
|
|
pipeline_tag: image-to-image |
|
|
--- |
|
|
|
|
|
# Real-ESRGAN |
|
|
|
|
|
This version of Real-ESRGAN has been converted to run on the Axera NPU using **w8a8** quantization. |
|
|
|
|
|
This model has been optimized with the following LoRA: |
|
|
|
|
|
Compatible with Pulsar2 version: 4.2 |
|
|
|
|
|
## Convert tools links: |
|
|
|
|
|
For those who are interested in model conversion, you can try to export axmodel through |
|
|
|
|
|
- [The repo of AXera Platform](https://github.com/AXERA-TECH/Real-ESRGAN.axera), which you can get the detail of guide |
|
|
|
|
|
- [Pulsar2 Link, How to Convert ONNX to axmodel](https://pulsar2-docs.readthedocs.io/en/latest/pulsar2/introduction.html) |
|
|
|
|
|
|
|
|
## Support Platform |
|
|
|
|
|
- AX650 |
|
|
- [M4N-Dock(爱芯派Pro)](https://wiki.sipeed.com/hardware/zh/maixIV/m4ndock/m4ndock.html) |
|
|
- [M.2 Accelerator card](https://axcl-docs.readthedocs.io/zh-cn/latest/doc_guide_hardware.html) |
|
|
- AX630C |
|
|
- [爱芯派2](https://axera-pi-2-docs-cn.readthedocs.io/zh-cn/latest/index.html) |
|
|
- [Module-LLM](https://docs.m5stack.com/zh_CN/module/Module-LLM) |
|
|
- [LLM630 Compute Kit](https://docs.m5stack.com/zh_CN/core/LLM630%20Compute%20Kit) |
|
|
|
|
|
|Chips|model|cost| |
|
|
|--|--|--| |
|
|
|AX650|realesrgan-x2|15.6 ms| |
|
|
|AX650|realesrgan-x4|62.1 ms| |
|
|
|
|
|
## How to use |
|
|
|
|
|
Download all files from this repository to the device |
|
|
|
|
|
``` |
|
|
|
|
|
root@ax650:~/realesrgan# tree |
|
|
. |
|
|
|-- model |
|
|
| `-- realesrgan-x2.axmodel |
|
|
| `-- realesrgan-x4.axmodel |
|
|
|`-- run_onnx.py |
|
|
|`-- run_axmodel.py |
|
|
|`-- build_config.json |
|
|
|`-- requirements.txt |
|
|
|
|
|
``` |
|
|
|
|
|
### Inference |
|
|
|
|
|
``` |
|
|
Input Data: |
|
|
|-- pics |
|
|
| `-- 00003.png |
|
|
| `-- 00017_gray.png |
|
|
| `-- 0014.jpg |
|
|
| `-- 0030.jpg |
|
|
| `-- ADE_val_00000114.jpg |
|
|
| `-- OST_009.png |
|
|
| `-- children-alpha.png |
|
|
| `-- tree_alpha_16bit.png |
|
|
| `-- wolf_gray.jpg |
|
|
``` |
|
|
|
|
|
#### Inference with AX650 Host, such as M4N-Dock(爱芯派Pro) |
|
|
##### gradio ui |
|
|
|
|
|
``` |
|
|
$python3 gradio_demo.py |
|
|
[INFO] Available providers: ['AxEngineExecutionProvider'] |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Chip type: ChipType.MC50 |
|
|
[INFO] VNPU type: VNPUType.DISABLED |
|
|
[INFO] Engine version: 2.12.0s |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
* Running on local URL: http://0.0.0.0:7860 |
|
|
* To create a public link, set `share=True` in `launch()`. |
|
|
``` |
|
|
Then use the M.2 Accelerator card IP instead of the 0.0.0.0, and use chrome open the URL: http://[your ip]:7860 |
|
|
 |
|
|
|
|
|
run image |
|
|
``` |
|
|
root@ax650 ~/realesrgan #python3 run_axmodel.py --input ./pics --outscale 2 --model_path ./realesrgan-x2.axmodel |
|
|
[INFO] Available providers: ['AxEngineExecutionProvider'] |
|
|
Testing 0 00003 |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Chip type: ChipType.MC50 |
|
|
[INFO] VNPU type: VNPUType.DISABLED |
|
|
[INFO] Engine version: 2.12.0s |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 1 00017_gray |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 2 0014 |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 3 0030 |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 4 ADE_val_00000114 |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 5 OST_009 |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 6 children-alpha |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 7 tree_alpha_16bit |
|
|
Input is a 16-bit image |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
Testing 8 wolf_gray |
|
|
[INFO] Using provider: AxEngineExecutionProvider |
|
|
[INFO] Model type: 2 (triple core) |
|
|
[INFO] Compiler version: 4.2-dirty 5e72cf06-dirty |
|
|
|
|
|
``` |
|
|
|
|
|
Output: |
|
|
 |
|
|
|
|
|
|