Organize RKNN models by family
Browse files- .gitattributes +5 -0
- README.md +22 -0
- manifest.json +614 -0
- models/obb/yolo11s-obb/rk3588/fp16/metadata.yaml +25 -0
- models/obb/yolo11s-obb/rk3588/int8/metadata.yaml +25 -0
- models/obb/yolo11s-obb/rk3588/int8/model.rknn +3 -0
- models/pose/yolo11s-pose/rk3588/fp16/metadata.yaml +14 -0
- models/pose/yolo11s-pose/rk3588/fp16/model.rknn +3 -0
- models/pose/yolo11s-pose/rk3588/int8/metadata.yaml +14 -0
- models/pose/yolo11s-pose/rk3588/int8/model.rknn +3 -0
- models/segment/yolo11s-seg/rk3588/fp16/metadata.yaml +90 -0
- models/segment/yolo11s-seg/rk3588/fp16/model.rknn +3 -0
- models/segment/yolo11s-seg/rk3588/int8/metadata.yaml +90 -0
- models/segment/yolo11s-seg/rk3588/int8/model.rknn +3 -0
- source/convert-official.py +194 -0
- source/exporters.json +15 -0
- source/extensions/yolo11/convert-yolo11.py +195 -0
- source/weights.json +134 -0
.gitattributes
CHANGED
|
@@ -76,3 +76,8 @@ models/pose/yolo11n-pose/rk3588/int8/model.rknn filter=lfs diff=lfs merge=lfs -t
|
|
| 76 |
models/segment/yolo11n-seg/rk3588/fp16/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 77 |
models/segment/yolo11n-seg/rk3588/int8/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 78 |
models/obb/yolo11s-obb/rk3588/fp16/model.rknn filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
models/segment/yolo11n-seg/rk3588/fp16/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 77 |
models/segment/yolo11n-seg/rk3588/int8/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 78 |
models/obb/yolo11s-obb/rk3588/fp16/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 79 |
+
models/obb/yolo11s-obb/rk3588/int8/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 80 |
+
models/pose/yolo11s-pose/rk3588/fp16/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 81 |
+
models/pose/yolo11s-pose/rk3588/int8/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 82 |
+
models/segment/yolo11s-seg/rk3588/fp16/model.rknn filter=lfs diff=lfs merge=lfs -text
|
| 83 |
+
models/segment/yolo11s-seg/rk3588/int8/model.rknn filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: agpl-3.0
|
| 3 |
+
tags:
|
| 4 |
+
- rknn
|
| 5 |
+
- rknn2
|
| 6 |
+
- rockchip
|
| 7 |
+
- rk3576
|
| 8 |
+
- rk3588
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
# YOLO11-RKNN2
|
| 12 |
+
|
| 13 |
+
Rockchip-guided and custom YOLO exports for RK3576 and RK3588.
|
| 14 |
+
Converted with RKNN Toolkit2 2.3.2.
|
| 15 |
+
|
| 16 |
+
Available tasks: classify, obb, pose, segment.
|
| 17 |
+
|
| 18 |
+
Download `model.rknn` and `metadata.yaml` from the same folder under `models/<task>/<variant>/<chip>/<precision>/`.
|
| 19 |
+
|
| 20 |
+
The manifest records model and metadata checksums. Original checkpoints, conversion scripts, and their provenance are in `source/`.
|
| 21 |
+
|
| 22 |
+
The models and checkpoints are distributed under AGPL-3.0. See `LICENSE` and `source/weights.json`.
|
manifest.json
ADDED
|
@@ -0,0 +1,614 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"name": "yolo11m-cls",
|
| 4 |
+
"family": "yolo11",
|
| 5 |
+
"task": "classify",
|
| 6 |
+
"chip": "rk3576",
|
| 7 |
+
"precision": "fp16",
|
| 8 |
+
"path": "models/classify/yolo11m-cls/rk3576/fp16",
|
| 9 |
+
"weights": "source/weights/yolo11m-cls.pt",
|
| 10 |
+
"sha256": "29bf33ec50736ef26b9ce2a94617b6ba410b1dc588d14a583f7f1f56870bdfaa",
|
| 11 |
+
"metadata_sha256": "3fb043109343a4bcbcd4893e0637ae8f336d1eb59d17f13b2f60892175975dab",
|
| 12 |
+
"conversion": "custom"
|
| 13 |
+
},
|
| 14 |
+
{
|
| 15 |
+
"name": "yolo11m-cls",
|
| 16 |
+
"family": "yolo11",
|
| 17 |
+
"task": "classify",
|
| 18 |
+
"chip": "rk3576",
|
| 19 |
+
"precision": "int8",
|
| 20 |
+
"path": "models/classify/yolo11m-cls/rk3576/int8",
|
| 21 |
+
"weights": "source/weights/yolo11m-cls.pt",
|
| 22 |
+
"sha256": "8d41294cebc8254e3e8752d8ea39f0b4a33a2b05ff7e1479d6645d0189590a1b",
|
| 23 |
+
"metadata_sha256": "2efeb534fdd1fa4cb380abfcac6d113d3165a8738c85ab53f19ea0438c2aaaa8",
|
| 24 |
+
"conversion": "custom"
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"name": "yolo11n-cls",
|
| 28 |
+
"family": "yolo11",
|
| 29 |
+
"task": "classify",
|
| 30 |
+
"chip": "rk3576",
|
| 31 |
+
"precision": "fp16",
|
| 32 |
+
"path": "models/classify/yolo11n-cls/rk3576/fp16",
|
| 33 |
+
"weights": "source/weights/yolo11n-cls.pt",
|
| 34 |
+
"sha256": "68a996c1fe36b94f9bd6867858f7d947fd56b6d2e4da3f2f19a73ed2a7a37cfa",
|
| 35 |
+
"metadata_sha256": "326eeb190487b7d6ae52872abaccf3f6995fcdd665c14e3883b76b1ee2aa07bb",
|
| 36 |
+
"conversion": "custom"
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"name": "yolo11n-cls",
|
| 40 |
+
"family": "yolo11",
|
| 41 |
+
"task": "classify",
|
| 42 |
+
"chip": "rk3576",
|
| 43 |
+
"precision": "int8",
|
| 44 |
+
"path": "models/classify/yolo11n-cls/rk3576/int8",
|
| 45 |
+
"weights": "source/weights/yolo11n-cls.pt",
|
| 46 |
+
"sha256": "7ef550741e14cbd3864c903d78382c993f66f44305b9bc78095e384b1d00c718",
|
| 47 |
+
"metadata_sha256": "42ccc34d3daa1b7cadb1b1ac003a3bc8fbe769ba51f8903ffd5a11c5c9ebe821",
|
| 48 |
+
"conversion": "custom"
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"name": "yolo11s-cls",
|
| 52 |
+
"family": "yolo11",
|
| 53 |
+
"task": "classify",
|
| 54 |
+
"chip": "rk3576",
|
| 55 |
+
"precision": "fp16",
|
| 56 |
+
"path": "models/classify/yolo11s-cls/rk3576/fp16",
|
| 57 |
+
"weights": "source/weights/yolo11s-cls.pt",
|
| 58 |
+
"sha256": "9e84c92a4377429fcdce1c5aec1b1e126bc884c957a3ef4b9002add6f34bfdb8",
|
| 59 |
+
"metadata_sha256": "4afa20c4f4d508c4692d1b15d884096c1b4da33868a6302d928cde26fdac39ed",
|
| 60 |
+
"conversion": "custom"
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"name": "yolo11s-cls",
|
| 64 |
+
"family": "yolo11",
|
| 65 |
+
"task": "classify",
|
| 66 |
+
"chip": "rk3576",
|
| 67 |
+
"precision": "int8",
|
| 68 |
+
"path": "models/classify/yolo11s-cls/rk3576/int8",
|
| 69 |
+
"weights": "source/weights/yolo11s-cls.pt",
|
| 70 |
+
"sha256": "48880ccd6fd3b130672195652804f24d90a73fed39de45dd1b666ee05757a1a7",
|
| 71 |
+
"metadata_sha256": "80980d225a70f37a0d4ab5346df9a6f509bcacdd738b34c0598dae08913f0b6c",
|
| 72 |
+
"conversion": "custom"
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"name": "yolo11m-cls",
|
| 76 |
+
"family": "yolo11",
|
| 77 |
+
"task": "classify",
|
| 78 |
+
"chip": "rk3588",
|
| 79 |
+
"precision": "fp16",
|
| 80 |
+
"path": "models/classify/yolo11m-cls/rk3588/fp16",
|
| 81 |
+
"weights": "source/weights/yolo11m-cls.pt",
|
| 82 |
+
"sha256": "63e2d88bc016d3339ef51a54afcddb7676f983be564d84c8d6c1166de2d2a3bf",
|
| 83 |
+
"metadata_sha256": "fde933ed4e6408a8d8bf409662e971d3db070d7c00e1ca0e3c827ad86e5a7c30",
|
| 84 |
+
"conversion": "custom"
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"name": "yolo11m-cls",
|
| 88 |
+
"family": "yolo11",
|
| 89 |
+
"task": "classify",
|
| 90 |
+
"chip": "rk3588",
|
| 91 |
+
"precision": "int8",
|
| 92 |
+
"path": "models/classify/yolo11m-cls/rk3588/int8",
|
| 93 |
+
"weights": "source/weights/yolo11m-cls.pt",
|
| 94 |
+
"sha256": "76d8964408a128fc32a268ea367351768362a9aceacbbc59031fc905b58ef2f4",
|
| 95 |
+
"metadata_sha256": "886fcad56d528d8c76b51ad32d8fc25a96aa9c851f25f02d175cfe6e2af5fed7",
|
| 96 |
+
"conversion": "custom"
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"name": "yolo11n-cls",
|
| 100 |
+
"family": "yolo11",
|
| 101 |
+
"task": "classify",
|
| 102 |
+
"chip": "rk3588",
|
| 103 |
+
"precision": "fp16",
|
| 104 |
+
"path": "models/classify/yolo11n-cls/rk3588/fp16",
|
| 105 |
+
"weights": "source/weights/yolo11n-cls.pt",
|
| 106 |
+
"sha256": "8d540134af0708598106b953f1ff2601bbdf79acb298adea30e3f72e31be4b69",
|
| 107 |
+
"metadata_sha256": "795a2fb8bfed216874db34130a46517101c2f2bfa236a88e3b714bb95cee5937",
|
| 108 |
+
"conversion": "custom"
|
| 109 |
+
},
|
| 110 |
+
{
|
| 111 |
+
"name": "yolo11n-cls",
|
| 112 |
+
"family": "yolo11",
|
| 113 |
+
"task": "classify",
|
| 114 |
+
"chip": "rk3588",
|
| 115 |
+
"precision": "int8",
|
| 116 |
+
"path": "models/classify/yolo11n-cls/rk3588/int8",
|
| 117 |
+
"weights": "source/weights/yolo11n-cls.pt",
|
| 118 |
+
"sha256": "6b377ebbbb67198f005af80842902f40dbf1e398c3ee279ad40f2eea3ee52b80",
|
| 119 |
+
"metadata_sha256": "09dac57947f429ab2d1a4c5b3d0297288345d014728b69ed0eb3acef1568612f",
|
| 120 |
+
"conversion": "custom"
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"name": "yolo11s-cls",
|
| 124 |
+
"family": "yolo11",
|
| 125 |
+
"task": "classify",
|
| 126 |
+
"chip": "rk3588",
|
| 127 |
+
"precision": "fp16",
|
| 128 |
+
"path": "models/classify/yolo11s-cls/rk3588/fp16",
|
| 129 |
+
"weights": "source/weights/yolo11s-cls.pt",
|
| 130 |
+
"sha256": "e0362b0b099b3bb3329263a3dfda088cfe5a159215908e6eedecd2c112ae1f39",
|
| 131 |
+
"metadata_sha256": "b08b812f181d8b672a630574e682d71b6e683493097e50f30c4f0ca89c3aa8f6",
|
| 132 |
+
"conversion": "custom"
|
| 133 |
+
},
|
| 134 |
+
{
|
| 135 |
+
"name": "yolo11s-cls",
|
| 136 |
+
"family": "yolo11",
|
| 137 |
+
"task": "classify",
|
| 138 |
+
"chip": "rk3588",
|
| 139 |
+
"precision": "int8",
|
| 140 |
+
"path": "models/classify/yolo11s-cls/rk3588/int8",
|
| 141 |
+
"weights": "source/weights/yolo11s-cls.pt",
|
| 142 |
+
"sha256": "8de2398dc2acb495435c4695b4dc7940939ca31c6cbddb1d1e259e602d2811dc",
|
| 143 |
+
"metadata_sha256": "96be5526e5b525f1077f23ddc19630143c001b500e398eed5a82e05c8123a364",
|
| 144 |
+
"conversion": "custom"
|
| 145 |
+
},
|
| 146 |
+
{
|
| 147 |
+
"name": "yolo11m-obb",
|
| 148 |
+
"family": "yolo11",
|
| 149 |
+
"task": "obb",
|
| 150 |
+
"chip": "rk3576",
|
| 151 |
+
"precision": "fp16",
|
| 152 |
+
"path": "models/obb/yolo11m-obb/rk3576/fp16",
|
| 153 |
+
"weights": "source/weights/yolo11m-obb.pt",
|
| 154 |
+
"sha256": "b4536c08cf84c3e854aef5b63fb4396442e7db5d0c40269bbfdc58dfcb812849",
|
| 155 |
+
"onnx_sha256": "af222efcb657a19b7d50347f841d11e43305ad4c094b71c0f204aea21a034b46",
|
| 156 |
+
"metadata_sha256": "b7eb4afa941789f6f7f12338c952035efd582e0052b9a9aaea6d08dd421e2990",
|
| 157 |
+
"conversion": "rockchip-guided"
|
| 158 |
+
},
|
| 159 |
+
{
|
| 160 |
+
"name": "yolo11m-obb",
|
| 161 |
+
"family": "yolo11",
|
| 162 |
+
"task": "obb",
|
| 163 |
+
"chip": "rk3576",
|
| 164 |
+
"precision": "int8",
|
| 165 |
+
"path": "models/obb/yolo11m-obb/rk3576/int8",
|
| 166 |
+
"weights": "source/weights/yolo11m-obb.pt",
|
| 167 |
+
"sha256": "57b410d4a1a73109cb4b2e1bc8077377e90d405b2ff3c5747c323b325c5279a2",
|
| 168 |
+
"onnx_sha256": "af222efcb657a19b7d50347f841d11e43305ad4c094b71c0f204aea21a034b46",
|
| 169 |
+
"metadata_sha256": "38196819d224fe07a8c5fa1d63da30f45d5b95f31a23272865de241fdc24ec55",
|
| 170 |
+
"conversion": "rockchip-guided"
|
| 171 |
+
},
|
| 172 |
+
{
|
| 173 |
+
"name": "yolo11m-pose",
|
| 174 |
+
"family": "yolo11",
|
| 175 |
+
"task": "pose",
|
| 176 |
+
"chip": "rk3576",
|
| 177 |
+
"precision": "fp16",
|
| 178 |
+
"path": "models/pose/yolo11m-pose/rk3576/fp16",
|
| 179 |
+
"weights": "source/weights/yolo11m-pose.pt",
|
| 180 |
+
"sha256": "d04156e9971286d4e9e006ff76f18d362db77082183cabc97c75e169c2b53f13",
|
| 181 |
+
"onnx_sha256": "b8e925ad61ce57835f16f1074175769f1e80cef6366e76842516427bf2a92ed8",
|
| 182 |
+
"metadata_sha256": "feabf2de8084092ee8a35e433622607ef709b6b34974b9c885a7c0e5eb9120b3",
|
| 183 |
+
"conversion": "rockchip-guided"
|
| 184 |
+
},
|
| 185 |
+
{
|
| 186 |
+
"name": "yolo11m-pose",
|
| 187 |
+
"family": "yolo11",
|
| 188 |
+
"task": "pose",
|
| 189 |
+
"chip": "rk3576",
|
| 190 |
+
"precision": "int8",
|
| 191 |
+
"path": "models/pose/yolo11m-pose/rk3576/int8",
|
| 192 |
+
"weights": "source/weights/yolo11m-pose.pt",
|
| 193 |
+
"sha256": "47c489e3bcbc24b01d9af0945bff4edf4fcbb67c0248575447cdc0cdf1e7ea07",
|
| 194 |
+
"onnx_sha256": "b8e925ad61ce57835f16f1074175769f1e80cef6366e76842516427bf2a92ed8",
|
| 195 |
+
"metadata_sha256": "bedf82b9c55818f3cd9891e54c4afff61cc75abcc8c471ccf3095a1c7a354f6f",
|
| 196 |
+
"conversion": "rockchip-guided"
|
| 197 |
+
},
|
| 198 |
+
{
|
| 199 |
+
"name": "yolo11m-seg",
|
| 200 |
+
"family": "yolo11",
|
| 201 |
+
"task": "segment",
|
| 202 |
+
"chip": "rk3576",
|
| 203 |
+
"precision": "fp16",
|
| 204 |
+
"path": "models/segment/yolo11m-seg/rk3576/fp16",
|
| 205 |
+
"weights": "source/weights/yolo11m-seg.pt",
|
| 206 |
+
"sha256": "ebb2865798f34765e1f8c3630d7c6ef700c96e70845de0c809ba71d56d027645",
|
| 207 |
+
"onnx_sha256": "0cf30b5dd3927aaf51a09f039b2a118eedca7ddb6e3a86626aa4cc3a8db65d9b",
|
| 208 |
+
"metadata_sha256": "52fc9d095a5b85fb1b3cf83156887776e1bd16dc77808fff7d38ed51ed18579c",
|
| 209 |
+
"conversion": "rockchip-guided"
|
| 210 |
+
},
|
| 211 |
+
{
|
| 212 |
+
"name": "yolo11m-seg",
|
| 213 |
+
"family": "yolo11",
|
| 214 |
+
"task": "segment",
|
| 215 |
+
"chip": "rk3576",
|
| 216 |
+
"precision": "int8",
|
| 217 |
+
"path": "models/segment/yolo11m-seg/rk3576/int8",
|
| 218 |
+
"weights": "source/weights/yolo11m-seg.pt",
|
| 219 |
+
"sha256": "507e9f13c60205dff9a1acadba6cd0e62cac38b24b4c2c4c583c47c103b230a7",
|
| 220 |
+
"onnx_sha256": "0cf30b5dd3927aaf51a09f039b2a118eedca7ddb6e3a86626aa4cc3a8db65d9b",
|
| 221 |
+
"metadata_sha256": "a3d8fa5e346bc1cc25b72d7f947faf4e7854f3cc307fa765c78a811792e87a13",
|
| 222 |
+
"conversion": "rockchip-guided"
|
| 223 |
+
},
|
| 224 |
+
{
|
| 225 |
+
"name": "yolo11n-obb",
|
| 226 |
+
"family": "yolo11",
|
| 227 |
+
"task": "obb",
|
| 228 |
+
"chip": "rk3576",
|
| 229 |
+
"precision": "fp16",
|
| 230 |
+
"path": "models/obb/yolo11n-obb/rk3576/fp16",
|
| 231 |
+
"weights": "source/weights/yolo11n-obb.pt",
|
| 232 |
+
"sha256": "5238b79c39d4f7e12a4f8ef48f8c58b0e2c27418b4c9c86c0d3467dace1423dd",
|
| 233 |
+
"onnx_sha256": "ba1aa83d329d164a9547f7a4724cacd10ff03bb78edea3e860409bf9ac9cdcae",
|
| 234 |
+
"metadata_sha256": "b7eb4afa941789f6f7f12338c952035efd582e0052b9a9aaea6d08dd421e2990",
|
| 235 |
+
"conversion": "rockchip-guided"
|
| 236 |
+
},
|
| 237 |
+
{
|
| 238 |
+
"name": "yolo11n-obb",
|
| 239 |
+
"family": "yolo11",
|
| 240 |
+
"task": "obb",
|
| 241 |
+
"chip": "rk3576",
|
| 242 |
+
"precision": "int8",
|
| 243 |
+
"path": "models/obb/yolo11n-obb/rk3576/int8",
|
| 244 |
+
"weights": "source/weights/yolo11n-obb.pt",
|
| 245 |
+
"sha256": "df79f9af53f28af2ac626c4f172381d6b5e3bb5231843f4cae10526c6fd7c38f",
|
| 246 |
+
"onnx_sha256": "ba1aa83d329d164a9547f7a4724cacd10ff03bb78edea3e860409bf9ac9cdcae",
|
| 247 |
+
"metadata_sha256": "38196819d224fe07a8c5fa1d63da30f45d5b95f31a23272865de241fdc24ec55",
|
| 248 |
+
"conversion": "rockchip-guided"
|
| 249 |
+
},
|
| 250 |
+
{
|
| 251 |
+
"name": "yolo11n-pose",
|
| 252 |
+
"family": "yolo11",
|
| 253 |
+
"task": "pose",
|
| 254 |
+
"chip": "rk3576",
|
| 255 |
+
"precision": "fp16",
|
| 256 |
+
"path": "models/pose/yolo11n-pose/rk3576/fp16",
|
| 257 |
+
"weights": "source/weights/yolo11n-pose.pt",
|
| 258 |
+
"sha256": "dedd9d4479d3cfd9f33984374835fc403d20297b0d6136f1b9f392079f18ad10",
|
| 259 |
+
"onnx_sha256": "8eb0e37fa5562ed5974fe4747825b98ad0d670e4bf50c937fb8e6a193f639192",
|
| 260 |
+
"metadata_sha256": "feabf2de8084092ee8a35e433622607ef709b6b34974b9c885a7c0e5eb9120b3",
|
| 261 |
+
"conversion": "rockchip-guided"
|
| 262 |
+
},
|
| 263 |
+
{
|
| 264 |
+
"name": "yolo11n-pose",
|
| 265 |
+
"family": "yolo11",
|
| 266 |
+
"task": "pose",
|
| 267 |
+
"chip": "rk3576",
|
| 268 |
+
"precision": "int8",
|
| 269 |
+
"path": "models/pose/yolo11n-pose/rk3576/int8",
|
| 270 |
+
"weights": "source/weights/yolo11n-pose.pt",
|
| 271 |
+
"sha256": "d781604bfb1df3bd9ffa4849696fa93c6ac26b8012d2514d165723969220efaa",
|
| 272 |
+
"onnx_sha256": "8eb0e37fa5562ed5974fe4747825b98ad0d670e4bf50c937fb8e6a193f639192",
|
| 273 |
+
"metadata_sha256": "bedf82b9c55818f3cd9891e54c4afff61cc75abcc8c471ccf3095a1c7a354f6f",
|
| 274 |
+
"conversion": "rockchip-guided"
|
| 275 |
+
},
|
| 276 |
+
{
|
| 277 |
+
"name": "yolo11n-seg",
|
| 278 |
+
"family": "yolo11",
|
| 279 |
+
"task": "segment",
|
| 280 |
+
"chip": "rk3576",
|
| 281 |
+
"precision": "fp16",
|
| 282 |
+
"path": "models/segment/yolo11n-seg/rk3576/fp16",
|
| 283 |
+
"weights": "source/weights/yolo11n-seg.pt",
|
| 284 |
+
"sha256": "d1370aa52dd3f127a6b447c27a813e4d12c3ec8955cacd6f70bd9b13f8ad488d",
|
| 285 |
+
"onnx_sha256": "32c4587c603c2b96cee8ec9f2367b1a415d02f8032b498ba71337466f22f4975",
|
| 286 |
+
"metadata_sha256": "52fc9d095a5b85fb1b3cf83156887776e1bd16dc77808fff7d38ed51ed18579c",
|
| 287 |
+
"conversion": "rockchip-guided"
|
| 288 |
+
},
|
| 289 |
+
{
|
| 290 |
+
"name": "yolo11n-seg",
|
| 291 |
+
"family": "yolo11",
|
| 292 |
+
"task": "segment",
|
| 293 |
+
"chip": "rk3576",
|
| 294 |
+
"precision": "int8",
|
| 295 |
+
"path": "models/segment/yolo11n-seg/rk3576/int8",
|
| 296 |
+
"weights": "source/weights/yolo11n-seg.pt",
|
| 297 |
+
"sha256": "c66aab855b4bc92b4fb235852df96d698c9f3d861e67eda1b9f6db683455f28c",
|
| 298 |
+
"onnx_sha256": "32c4587c603c2b96cee8ec9f2367b1a415d02f8032b498ba71337466f22f4975",
|
| 299 |
+
"metadata_sha256": "a3d8fa5e346bc1cc25b72d7f947faf4e7854f3cc307fa765c78a811792e87a13",
|
| 300 |
+
"conversion": "rockchip-guided"
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"name": "yolo11s-obb",
|
| 304 |
+
"family": "yolo11",
|
| 305 |
+
"task": "obb",
|
| 306 |
+
"chip": "rk3576",
|
| 307 |
+
"precision": "fp16",
|
| 308 |
+
"path": "models/obb/yolo11s-obb/rk3576/fp16",
|
| 309 |
+
"weights": "source/weights/yolo11s-obb.pt",
|
| 310 |
+
"sha256": "d51ce9df1e4bd0821fab32678203f2e74b4ffbe839341f5bda8f63c508303260",
|
| 311 |
+
"onnx_sha256": "757bf58a86434b80b0e68e043577ee3b547b45ba25f1493c7f2f42c18af0a5b3",
|
| 312 |
+
"metadata_sha256": "b7eb4afa941789f6f7f12338c952035efd582e0052b9a9aaea6d08dd421e2990",
|
| 313 |
+
"conversion": "rockchip-guided"
|
| 314 |
+
},
|
| 315 |
+
{
|
| 316 |
+
"name": "yolo11s-obb",
|
| 317 |
+
"family": "yolo11",
|
| 318 |
+
"task": "obb",
|
| 319 |
+
"chip": "rk3576",
|
| 320 |
+
"precision": "int8",
|
| 321 |
+
"path": "models/obb/yolo11s-obb/rk3576/int8",
|
| 322 |
+
"weights": "source/weights/yolo11s-obb.pt",
|
| 323 |
+
"sha256": "49ee8af8474605fad2f01ff65d3c6615c1483bc2428eb6823d38927030834587",
|
| 324 |
+
"onnx_sha256": "757bf58a86434b80b0e68e043577ee3b547b45ba25f1493c7f2f42c18af0a5b3",
|
| 325 |
+
"metadata_sha256": "38196819d224fe07a8c5fa1d63da30f45d5b95f31a23272865de241fdc24ec55",
|
| 326 |
+
"conversion": "rockchip-guided"
|
| 327 |
+
},
|
| 328 |
+
{
|
| 329 |
+
"name": "yolo11s-pose",
|
| 330 |
+
"family": "yolo11",
|
| 331 |
+
"task": "pose",
|
| 332 |
+
"chip": "rk3576",
|
| 333 |
+
"precision": "fp16",
|
| 334 |
+
"path": "models/pose/yolo11s-pose/rk3576/fp16",
|
| 335 |
+
"weights": "source/weights/yolo11s-pose.pt",
|
| 336 |
+
"sha256": "aa4deb94a787b9b9a8806798a1285c4677b70fd3aacb68ba91997971e55564ac",
|
| 337 |
+
"onnx_sha256": "faa102f30af3e8a5dafcd8126e36cf6d10e4fa10b35a4f83ac06e0f6f147c0da",
|
| 338 |
+
"metadata_sha256": "feabf2de8084092ee8a35e433622607ef709b6b34974b9c885a7c0e5eb9120b3",
|
| 339 |
+
"conversion": "rockchip-guided"
|
| 340 |
+
},
|
| 341 |
+
{
|
| 342 |
+
"name": "yolo11s-pose",
|
| 343 |
+
"family": "yolo11",
|
| 344 |
+
"task": "pose",
|
| 345 |
+
"chip": "rk3576",
|
| 346 |
+
"precision": "int8",
|
| 347 |
+
"path": "models/pose/yolo11s-pose/rk3576/int8",
|
| 348 |
+
"weights": "source/weights/yolo11s-pose.pt",
|
| 349 |
+
"sha256": "d4b0fe05ea4a11b94173a0bdc5fe11f61201d7eabae04a13463281092d82e789",
|
| 350 |
+
"onnx_sha256": "faa102f30af3e8a5dafcd8126e36cf6d10e4fa10b35a4f83ac06e0f6f147c0da",
|
| 351 |
+
"metadata_sha256": "bedf82b9c55818f3cd9891e54c4afff61cc75abcc8c471ccf3095a1c7a354f6f",
|
| 352 |
+
"conversion": "rockchip-guided"
|
| 353 |
+
},
|
| 354 |
+
{
|
| 355 |
+
"name": "yolo11s-seg",
|
| 356 |
+
"family": "yolo11",
|
| 357 |
+
"task": "segment",
|
| 358 |
+
"chip": "rk3576",
|
| 359 |
+
"precision": "fp16",
|
| 360 |
+
"path": "models/segment/yolo11s-seg/rk3576/fp16",
|
| 361 |
+
"weights": "source/weights/yolo11s-seg.pt",
|
| 362 |
+
"sha256": "7a1f8a7e28810f730f860a8f5d82dda1551c4cbe273dc4a317d8f78791b24a96",
|
| 363 |
+
"onnx_sha256": "dd4cc9ccefbbe803c2033fd3e73f8d165e6c1bbfd11631049c8d1e9a302a82bc",
|
| 364 |
+
"metadata_sha256": "52fc9d095a5b85fb1b3cf83156887776e1bd16dc77808fff7d38ed51ed18579c",
|
| 365 |
+
"conversion": "rockchip-guided"
|
| 366 |
+
},
|
| 367 |
+
{
|
| 368 |
+
"name": "yolo11s-seg",
|
| 369 |
+
"family": "yolo11",
|
| 370 |
+
"task": "segment",
|
| 371 |
+
"chip": "rk3576",
|
| 372 |
+
"precision": "int8",
|
| 373 |
+
"path": "models/segment/yolo11s-seg/rk3576/int8",
|
| 374 |
+
"weights": "source/weights/yolo11s-seg.pt",
|
| 375 |
+
"sha256": "4897fdbd27dfa294256f87de5fea83e2a14d1d29815e1099040b2377bda52dfd",
|
| 376 |
+
"onnx_sha256": "dd4cc9ccefbbe803c2033fd3e73f8d165e6c1bbfd11631049c8d1e9a302a82bc",
|
| 377 |
+
"metadata_sha256": "a3d8fa5e346bc1cc25b72d7f947faf4e7854f3cc307fa765c78a811792e87a13",
|
| 378 |
+
"conversion": "rockchip-guided"
|
| 379 |
+
},
|
| 380 |
+
{
|
| 381 |
+
"name": "yolo11m-obb",
|
| 382 |
+
"family": "yolo11",
|
| 383 |
+
"task": "obb",
|
| 384 |
+
"chip": "rk3588",
|
| 385 |
+
"precision": "fp16",
|
| 386 |
+
"path": "models/obb/yolo11m-obb/rk3588/fp16",
|
| 387 |
+
"weights": "source/weights/yolo11m-obb.pt",
|
| 388 |
+
"sha256": "ec630004ef6c4143d9dd3bfe85858aa2c8adab8b7b479b383b787471e7e474c9",
|
| 389 |
+
"onnx_sha256": "af222efcb657a19b7d50347f841d11e43305ad4c094b71c0f204aea21a034b46",
|
| 390 |
+
"metadata_sha256": "390d7a66a76a24d83c5dd4220b9f100956daa2182870f1e52577c17a11a5efdb",
|
| 391 |
+
"conversion": "rockchip-guided"
|
| 392 |
+
},
|
| 393 |
+
{
|
| 394 |
+
"name": "yolo11m-obb",
|
| 395 |
+
"family": "yolo11",
|
| 396 |
+
"task": "obb",
|
| 397 |
+
"chip": "rk3588",
|
| 398 |
+
"precision": "int8",
|
| 399 |
+
"path": "models/obb/yolo11m-obb/rk3588/int8",
|
| 400 |
+
"weights": "source/weights/yolo11m-obb.pt",
|
| 401 |
+
"sha256": "605138230511622afd3212ea3e44ffd4a39b2f7f92f5ae5e002222142532786a",
|
| 402 |
+
"onnx_sha256": "af222efcb657a19b7d50347f841d11e43305ad4c094b71c0f204aea21a034b46",
|
| 403 |
+
"metadata_sha256": "0b6cc39d39d7add1b952e6f62aae7b22ade06c53d093db08a2a29f1b0a40d7b4",
|
| 404 |
+
"conversion": "rockchip-guided"
|
| 405 |
+
},
|
| 406 |
+
{
|
| 407 |
+
"name": "yolo11m-pose",
|
| 408 |
+
"family": "yolo11",
|
| 409 |
+
"task": "pose",
|
| 410 |
+
"chip": "rk3588",
|
| 411 |
+
"precision": "fp16",
|
| 412 |
+
"path": "models/pose/yolo11m-pose/rk3588/fp16",
|
| 413 |
+
"weights": "source/weights/yolo11m-pose.pt",
|
| 414 |
+
"sha256": "d86259afa52226f8c645cef1272e5096e6f953dfddf84d7d20e85570e7e70cc6",
|
| 415 |
+
"onnx_sha256": "b8e925ad61ce57835f16f1074175769f1e80cef6366e76842516427bf2a92ed8",
|
| 416 |
+
"metadata_sha256": "2281458794491abfcd1529e54a6ec889b3a69e8027817e074dd93beec187f02b",
|
| 417 |
+
"conversion": "rockchip-guided"
|
| 418 |
+
},
|
| 419 |
+
{
|
| 420 |
+
"name": "yolo11m-pose",
|
| 421 |
+
"family": "yolo11",
|
| 422 |
+
"task": "pose",
|
| 423 |
+
"chip": "rk3588",
|
| 424 |
+
"precision": "int8",
|
| 425 |
+
"path": "models/pose/yolo11m-pose/rk3588/int8",
|
| 426 |
+
"weights": "source/weights/yolo11m-pose.pt",
|
| 427 |
+
"sha256": "7f7887cb947ac194fb091e89a31417e2e913addcc66c97b92f5740c548671b16",
|
| 428 |
+
"onnx_sha256": "b8e925ad61ce57835f16f1074175769f1e80cef6366e76842516427bf2a92ed8",
|
| 429 |
+
"metadata_sha256": "a5baf2163963cfb9d221b5fd248b43d504c3f816b91e6375a21b9d4fc4ae471b",
|
| 430 |
+
"conversion": "rockchip-guided"
|
| 431 |
+
},
|
| 432 |
+
{
|
| 433 |
+
"name": "yolo11m-seg",
|
| 434 |
+
"family": "yolo11",
|
| 435 |
+
"task": "segment",
|
| 436 |
+
"chip": "rk3588",
|
| 437 |
+
"precision": "fp16",
|
| 438 |
+
"path": "models/segment/yolo11m-seg/rk3588/fp16",
|
| 439 |
+
"weights": "source/weights/yolo11m-seg.pt",
|
| 440 |
+
"sha256": "828862bf021f6d0ef41f3b7be1e80c991f311c44c20209ec6985450d2aff457b",
|
| 441 |
+
"onnx_sha256": "0cf30b5dd3927aaf51a09f039b2a118eedca7ddb6e3a86626aa4cc3a8db65d9b",
|
| 442 |
+
"metadata_sha256": "50d11ac8e4de14089503551b8b6bbd2daf75fe9d9a7b7e00e7cb746497a92f51",
|
| 443 |
+
"conversion": "rockchip-guided"
|
| 444 |
+
},
|
| 445 |
+
{
|
| 446 |
+
"name": "yolo11m-seg",
|
| 447 |
+
"family": "yolo11",
|
| 448 |
+
"task": "segment",
|
| 449 |
+
"chip": "rk3588",
|
| 450 |
+
"precision": "int8",
|
| 451 |
+
"path": "models/segment/yolo11m-seg/rk3588/int8",
|
| 452 |
+
"weights": "source/weights/yolo11m-seg.pt",
|
| 453 |
+
"sha256": "c453eb77ee5b40232ece773f6422697fe2c5bb5a0efe2d5c6120ec286dbf88df",
|
| 454 |
+
"onnx_sha256": "0cf30b5dd3927aaf51a09f039b2a118eedca7ddb6e3a86626aa4cc3a8db65d9b",
|
| 455 |
+
"metadata_sha256": "4aebb96a20530b74caf48417309a57af77bccd0059539342b7e8ba5cbac16b0a",
|
| 456 |
+
"conversion": "rockchip-guided"
|
| 457 |
+
},
|
| 458 |
+
{
|
| 459 |
+
"name": "yolo11n-obb",
|
| 460 |
+
"family": "yolo11",
|
| 461 |
+
"task": "obb",
|
| 462 |
+
"chip": "rk3588",
|
| 463 |
+
"precision": "fp16",
|
| 464 |
+
"path": "models/obb/yolo11n-obb/rk3588/fp16",
|
| 465 |
+
"weights": "source/weights/yolo11n-obb.pt",
|
| 466 |
+
"sha256": "dfa686c7e6bfc8a3ddcd1ad2fdbcec7f60e4b0996cb1c295a40fb90437cb5443",
|
| 467 |
+
"onnx_sha256": "ba1aa83d329d164a9547f7a4724cacd10ff03bb78edea3e860409bf9ac9cdcae",
|
| 468 |
+
"metadata_sha256": "390d7a66a76a24d83c5dd4220b9f100956daa2182870f1e52577c17a11a5efdb",
|
| 469 |
+
"conversion": "rockchip-guided"
|
| 470 |
+
},
|
| 471 |
+
{
|
| 472 |
+
"name": "yolo11n-obb",
|
| 473 |
+
"family": "yolo11",
|
| 474 |
+
"task": "obb",
|
| 475 |
+
"chip": "rk3588",
|
| 476 |
+
"precision": "int8",
|
| 477 |
+
"path": "models/obb/yolo11n-obb/rk3588/int8",
|
| 478 |
+
"weights": "source/weights/yolo11n-obb.pt",
|
| 479 |
+
"sha256": "5909cb22059dee2f041723f81512f34ce7dd89aba6707f48d71484a1d5ab8206",
|
| 480 |
+
"onnx_sha256": "ba1aa83d329d164a9547f7a4724cacd10ff03bb78edea3e860409bf9ac9cdcae",
|
| 481 |
+
"metadata_sha256": "0b6cc39d39d7add1b952e6f62aae7b22ade06c53d093db08a2a29f1b0a40d7b4",
|
| 482 |
+
"conversion": "rockchip-guided"
|
| 483 |
+
},
|
| 484 |
+
{
|
| 485 |
+
"name": "yolo11n-pose",
|
| 486 |
+
"family": "yolo11",
|
| 487 |
+
"task": "pose",
|
| 488 |
+
"chip": "rk3588",
|
| 489 |
+
"precision": "fp16",
|
| 490 |
+
"path": "models/pose/yolo11n-pose/rk3588/fp16",
|
| 491 |
+
"weights": "source/weights/yolo11n-pose.pt",
|
| 492 |
+
"sha256": "8d1b04802d392886e9d883a38fcb5cfd7f05033fc99a998e986f3c11d0f0ef4d",
|
| 493 |
+
"onnx_sha256": "8eb0e37fa5562ed5974fe4747825b98ad0d670e4bf50c937fb8e6a193f639192",
|
| 494 |
+
"metadata_sha256": "2281458794491abfcd1529e54a6ec889b3a69e8027817e074dd93beec187f02b",
|
| 495 |
+
"conversion": "rockchip-guided"
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"name": "yolo11n-pose",
|
| 499 |
+
"family": "yolo11",
|
| 500 |
+
"task": "pose",
|
| 501 |
+
"chip": "rk3588",
|
| 502 |
+
"precision": "int8",
|
| 503 |
+
"path": "models/pose/yolo11n-pose/rk3588/int8",
|
| 504 |
+
"weights": "source/weights/yolo11n-pose.pt",
|
| 505 |
+
"sha256": "bf61cd912b49f3afd87956d555bd0f6ba510e9d2d64729ef0e2b6c3dd9b9df6b",
|
| 506 |
+
"onnx_sha256": "8eb0e37fa5562ed5974fe4747825b98ad0d670e4bf50c937fb8e6a193f639192",
|
| 507 |
+
"metadata_sha256": "a5baf2163963cfb9d221b5fd248b43d504c3f816b91e6375a21b9d4fc4ae471b",
|
| 508 |
+
"conversion": "rockchip-guided"
|
| 509 |
+
},
|
| 510 |
+
{
|
| 511 |
+
"name": "yolo11n-seg",
|
| 512 |
+
"family": "yolo11",
|
| 513 |
+
"task": "segment",
|
| 514 |
+
"chip": "rk3588",
|
| 515 |
+
"precision": "fp16",
|
| 516 |
+
"path": "models/segment/yolo11n-seg/rk3588/fp16",
|
| 517 |
+
"weights": "source/weights/yolo11n-seg.pt",
|
| 518 |
+
"sha256": "f54f88f7d77a05b48377743eb7687348a855047047e901afd60d343b7277c4b9",
|
| 519 |
+
"onnx_sha256": "32c4587c603c2b96cee8ec9f2367b1a415d02f8032b498ba71337466f22f4975",
|
| 520 |
+
"metadata_sha256": "50d11ac8e4de14089503551b8b6bbd2daf75fe9d9a7b7e00e7cb746497a92f51",
|
| 521 |
+
"conversion": "rockchip-guided"
|
| 522 |
+
},
|
| 523 |
+
{
|
| 524 |
+
"name": "yolo11n-seg",
|
| 525 |
+
"family": "yolo11",
|
| 526 |
+
"task": "segment",
|
| 527 |
+
"chip": "rk3588",
|
| 528 |
+
"precision": "int8",
|
| 529 |
+
"path": "models/segment/yolo11n-seg/rk3588/int8",
|
| 530 |
+
"weights": "source/weights/yolo11n-seg.pt",
|
| 531 |
+
"sha256": "82f6b228acd9e1dd89de0d40e29db85ca7c0fca50f06e2c2d94c9e3e3fc2ee50",
|
| 532 |
+
"onnx_sha256": "32c4587c603c2b96cee8ec9f2367b1a415d02f8032b498ba71337466f22f4975",
|
| 533 |
+
"metadata_sha256": "4aebb96a20530b74caf48417309a57af77bccd0059539342b7e8ba5cbac16b0a",
|
| 534 |
+
"conversion": "rockchip-guided"
|
| 535 |
+
},
|
| 536 |
+
{
|
| 537 |
+
"name": "yolo11s-obb",
|
| 538 |
+
"family": "yolo11",
|
| 539 |
+
"task": "obb",
|
| 540 |
+
"chip": "rk3588",
|
| 541 |
+
"precision": "fp16",
|
| 542 |
+
"path": "models/obb/yolo11s-obb/rk3588/fp16",
|
| 543 |
+
"weights": "source/weights/yolo11s-obb.pt",
|
| 544 |
+
"sha256": "572756672a8c662de582cc149adcee90a16f90b066f6255fb9cff58b8ca509f5",
|
| 545 |
+
"onnx_sha256": "757bf58a86434b80b0e68e043577ee3b547b45ba25f1493c7f2f42c18af0a5b3",
|
| 546 |
+
"metadata_sha256": "390d7a66a76a24d83c5dd4220b9f100956daa2182870f1e52577c17a11a5efdb",
|
| 547 |
+
"conversion": "rockchip-guided"
|
| 548 |
+
},
|
| 549 |
+
{
|
| 550 |
+
"name": "yolo11s-obb",
|
| 551 |
+
"family": "yolo11",
|
| 552 |
+
"task": "obb",
|
| 553 |
+
"chip": "rk3588",
|
| 554 |
+
"precision": "int8",
|
| 555 |
+
"path": "models/obb/yolo11s-obb/rk3588/int8",
|
| 556 |
+
"weights": "source/weights/yolo11s-obb.pt",
|
| 557 |
+
"sha256": "bd023ebd210afb7d2e93c2fbc8a846d28b2a3b55f6a15450229134eeb6353bd0",
|
| 558 |
+
"onnx_sha256": "757bf58a86434b80b0e68e043577ee3b547b45ba25f1493c7f2f42c18af0a5b3",
|
| 559 |
+
"metadata_sha256": "0b6cc39d39d7add1b952e6f62aae7b22ade06c53d093db08a2a29f1b0a40d7b4",
|
| 560 |
+
"conversion": "rockchip-guided"
|
| 561 |
+
},
|
| 562 |
+
{
|
| 563 |
+
"name": "yolo11s-pose",
|
| 564 |
+
"family": "yolo11",
|
| 565 |
+
"task": "pose",
|
| 566 |
+
"chip": "rk3588",
|
| 567 |
+
"precision": "fp16",
|
| 568 |
+
"path": "models/pose/yolo11s-pose/rk3588/fp16",
|
| 569 |
+
"weights": "source/weights/yolo11s-pose.pt",
|
| 570 |
+
"sha256": "0ed226f07086f589bb751da6ac8ba493121b2c50da959120c980bfbaecd6aa91",
|
| 571 |
+
"onnx_sha256": "faa102f30af3e8a5dafcd8126e36cf6d10e4fa10b35a4f83ac06e0f6f147c0da",
|
| 572 |
+
"metadata_sha256": "2281458794491abfcd1529e54a6ec889b3a69e8027817e074dd93beec187f02b",
|
| 573 |
+
"conversion": "rockchip-guided"
|
| 574 |
+
},
|
| 575 |
+
{
|
| 576 |
+
"name": "yolo11s-pose",
|
| 577 |
+
"family": "yolo11",
|
| 578 |
+
"task": "pose",
|
| 579 |
+
"chip": "rk3588",
|
| 580 |
+
"precision": "int8",
|
| 581 |
+
"path": "models/pose/yolo11s-pose/rk3588/int8",
|
| 582 |
+
"weights": "source/weights/yolo11s-pose.pt",
|
| 583 |
+
"sha256": "dd01cae8b4e0c811bc8cfdf359041da96e0c3d04fdaf93a863342a9b22f9c5bb",
|
| 584 |
+
"onnx_sha256": "faa102f30af3e8a5dafcd8126e36cf6d10e4fa10b35a4f83ac06e0f6f147c0da",
|
| 585 |
+
"metadata_sha256": "a5baf2163963cfb9d221b5fd248b43d504c3f816b91e6375a21b9d4fc4ae471b",
|
| 586 |
+
"conversion": "rockchip-guided"
|
| 587 |
+
},
|
| 588 |
+
{
|
| 589 |
+
"name": "yolo11s-seg",
|
| 590 |
+
"family": "yolo11",
|
| 591 |
+
"task": "segment",
|
| 592 |
+
"chip": "rk3588",
|
| 593 |
+
"precision": "fp16",
|
| 594 |
+
"path": "models/segment/yolo11s-seg/rk3588/fp16",
|
| 595 |
+
"weights": "source/weights/yolo11s-seg.pt",
|
| 596 |
+
"sha256": "d2078175d484cf5cd17f1c01bb6f3baee925dde7f2a36cab549132edfd5dbb41",
|
| 597 |
+
"onnx_sha256": "dd4cc9ccefbbe803c2033fd3e73f8d165e6c1bbfd11631049c8d1e9a302a82bc",
|
| 598 |
+
"metadata_sha256": "50d11ac8e4de14089503551b8b6bbd2daf75fe9d9a7b7e00e7cb746497a92f51",
|
| 599 |
+
"conversion": "rockchip-guided"
|
| 600 |
+
},
|
| 601 |
+
{
|
| 602 |
+
"name": "yolo11s-seg",
|
| 603 |
+
"family": "yolo11",
|
| 604 |
+
"task": "segment",
|
| 605 |
+
"chip": "rk3588",
|
| 606 |
+
"precision": "int8",
|
| 607 |
+
"path": "models/segment/yolo11s-seg/rk3588/int8",
|
| 608 |
+
"weights": "source/weights/yolo11s-seg.pt",
|
| 609 |
+
"sha256": "660baf675cb9097d0e4ba2c22f711bf91ea4dbdacf08072f187e08e6db7e5ed5",
|
| 610 |
+
"onnx_sha256": "dd4cc9ccefbbe803c2033fd3e73f8d165e6c1bbfd11631049c8d1e9a302a82bc",
|
| 611 |
+
"metadata_sha256": "4aebb96a20530b74caf48417309a57af77bccd0059539342b7e8ba5cbac16b0a",
|
| 612 |
+
"conversion": "rockchip-guided"
|
| 613 |
+
}
|
| 614 |
+
]
|
models/obb/yolo11s-obb/rk3588/fp16/metadata.yaml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task: obb
|
| 2 |
+
batch: 1
|
| 3 |
+
channels: 3
|
| 4 |
+
imgsz:
|
| 5 |
+
- 640
|
| 6 |
+
- 640
|
| 7 |
+
names:
|
| 8 |
+
- plane
|
| 9 |
+
- ship
|
| 10 |
+
- storage tank
|
| 11 |
+
- baseball diamond
|
| 12 |
+
- tennis court
|
| 13 |
+
- basketball court
|
| 14 |
+
- ground track field
|
| 15 |
+
- harbor
|
| 16 |
+
- bridge
|
| 17 |
+
- large vehicle
|
| 18 |
+
- small vehicle
|
| 19 |
+
- helicopter
|
| 20 |
+
- roundabout
|
| 21 |
+
- soccer ball field
|
| 22 |
+
- swimming pool
|
| 23 |
+
target_platform: rk3588
|
| 24 |
+
coordinates: pixels
|
| 25 |
+
precision: fp16
|
models/obb/yolo11s-obb/rk3588/int8/metadata.yaml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task: obb
|
| 2 |
+
batch: 1
|
| 3 |
+
channels: 3
|
| 4 |
+
imgsz:
|
| 5 |
+
- 640
|
| 6 |
+
- 640
|
| 7 |
+
names:
|
| 8 |
+
- plane
|
| 9 |
+
- ship
|
| 10 |
+
- storage tank
|
| 11 |
+
- baseball diamond
|
| 12 |
+
- tennis court
|
| 13 |
+
- basketball court
|
| 14 |
+
- ground track field
|
| 15 |
+
- harbor
|
| 16 |
+
- bridge
|
| 17 |
+
- large vehicle
|
| 18 |
+
- small vehicle
|
| 19 |
+
- helicopter
|
| 20 |
+
- roundabout
|
| 21 |
+
- soccer ball field
|
| 22 |
+
- swimming pool
|
| 23 |
+
target_platform: rk3588
|
| 24 |
+
coordinates: pixels
|
| 25 |
+
precision: int8
|
models/obb/yolo11s-obb/rk3588/int8/model.rknn
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bd023ebd210afb7d2e93c2fbc8a846d28b2a3b55f6a15450229134eeb6353bd0
|
| 3 |
+
size 11678625
|
models/pose/yolo11s-pose/rk3588/fp16/metadata.yaml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task: pose
|
| 2 |
+
batch: 1
|
| 3 |
+
channels: 3
|
| 4 |
+
imgsz:
|
| 5 |
+
- 640
|
| 6 |
+
- 640
|
| 7 |
+
names:
|
| 8 |
+
- person
|
| 9 |
+
target_platform: rk3588
|
| 10 |
+
coordinates: pixels
|
| 11 |
+
precision: fp16
|
| 12 |
+
kpt_shape:
|
| 13 |
+
- 17
|
| 14 |
+
- 3
|
models/pose/yolo11s-pose/rk3588/fp16/model.rknn
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0ed226f07086f589bb751da6ac8ba493121b2c50da959120c980bfbaecd6aa91
|
| 3 |
+
size 22613987
|
models/pose/yolo11s-pose/rk3588/int8/metadata.yaml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task: pose
|
| 2 |
+
batch: 1
|
| 3 |
+
channels: 3
|
| 4 |
+
imgsz:
|
| 5 |
+
- 640
|
| 6 |
+
- 640
|
| 7 |
+
names:
|
| 8 |
+
- person
|
| 9 |
+
target_platform: rk3588
|
| 10 |
+
coordinates: pixels
|
| 11 |
+
precision: int8
|
| 12 |
+
kpt_shape:
|
| 13 |
+
- 17
|
| 14 |
+
- 3
|
models/pose/yolo11s-pose/rk3588/int8/model.rknn
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:dd01cae8b4e0c811bc8cfdf359041da96e0c3d04fdaf93a863342a9b22f9c5bb
|
| 3 |
+
size 12465815
|
models/segment/yolo11s-seg/rk3588/fp16/metadata.yaml
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task: segment
|
| 2 |
+
batch: 1
|
| 3 |
+
channels: 3
|
| 4 |
+
imgsz:
|
| 5 |
+
- 640
|
| 6 |
+
- 640
|
| 7 |
+
names:
|
| 8 |
+
- person
|
| 9 |
+
- bicycle
|
| 10 |
+
- car
|
| 11 |
+
- motorcycle
|
| 12 |
+
- airplane
|
| 13 |
+
- bus
|
| 14 |
+
- train
|
| 15 |
+
- truck
|
| 16 |
+
- boat
|
| 17 |
+
- traffic light
|
| 18 |
+
- fire hydrant
|
| 19 |
+
- stop sign
|
| 20 |
+
- parking meter
|
| 21 |
+
- bench
|
| 22 |
+
- bird
|
| 23 |
+
- cat
|
| 24 |
+
- dog
|
| 25 |
+
- horse
|
| 26 |
+
- sheep
|
| 27 |
+
- cow
|
| 28 |
+
- elephant
|
| 29 |
+
- bear
|
| 30 |
+
- zebra
|
| 31 |
+
- giraffe
|
| 32 |
+
- backpack
|
| 33 |
+
- umbrella
|
| 34 |
+
- handbag
|
| 35 |
+
- tie
|
| 36 |
+
- suitcase
|
| 37 |
+
- frisbee
|
| 38 |
+
- skis
|
| 39 |
+
- snowboard
|
| 40 |
+
- sports ball
|
| 41 |
+
- kite
|
| 42 |
+
- baseball bat
|
| 43 |
+
- baseball glove
|
| 44 |
+
- skateboard
|
| 45 |
+
- surfboard
|
| 46 |
+
- tennis racket
|
| 47 |
+
- bottle
|
| 48 |
+
- wine glass
|
| 49 |
+
- cup
|
| 50 |
+
- fork
|
| 51 |
+
- knife
|
| 52 |
+
- spoon
|
| 53 |
+
- bowl
|
| 54 |
+
- banana
|
| 55 |
+
- apple
|
| 56 |
+
- sandwich
|
| 57 |
+
- orange
|
| 58 |
+
- broccoli
|
| 59 |
+
- carrot
|
| 60 |
+
- hot dog
|
| 61 |
+
- pizza
|
| 62 |
+
- donut
|
| 63 |
+
- cake
|
| 64 |
+
- chair
|
| 65 |
+
- couch
|
| 66 |
+
- potted plant
|
| 67 |
+
- bed
|
| 68 |
+
- dining table
|
| 69 |
+
- toilet
|
| 70 |
+
- tv
|
| 71 |
+
- laptop
|
| 72 |
+
- mouse
|
| 73 |
+
- remote
|
| 74 |
+
- keyboard
|
| 75 |
+
- cell phone
|
| 76 |
+
- microwave
|
| 77 |
+
- oven
|
| 78 |
+
- toaster
|
| 79 |
+
- sink
|
| 80 |
+
- refrigerator
|
| 81 |
+
- book
|
| 82 |
+
- clock
|
| 83 |
+
- vase
|
| 84 |
+
- scissors
|
| 85 |
+
- teddy bear
|
| 86 |
+
- hair drier
|
| 87 |
+
- toothbrush
|
| 88 |
+
target_platform: rk3588
|
| 89 |
+
coordinates: pixels
|
| 90 |
+
precision: fp16
|
models/segment/yolo11s-seg/rk3588/fp16/model.rknn
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d2078175d484cf5cd17f1c01bb6f3baee925dde7f2a36cab549132edfd5dbb41
|
| 3 |
+
size 22584691
|
models/segment/yolo11s-seg/rk3588/int8/metadata.yaml
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task: segment
|
| 2 |
+
batch: 1
|
| 3 |
+
channels: 3
|
| 4 |
+
imgsz:
|
| 5 |
+
- 640
|
| 6 |
+
- 640
|
| 7 |
+
names:
|
| 8 |
+
- person
|
| 9 |
+
- bicycle
|
| 10 |
+
- car
|
| 11 |
+
- motorcycle
|
| 12 |
+
- airplane
|
| 13 |
+
- bus
|
| 14 |
+
- train
|
| 15 |
+
- truck
|
| 16 |
+
- boat
|
| 17 |
+
- traffic light
|
| 18 |
+
- fire hydrant
|
| 19 |
+
- stop sign
|
| 20 |
+
- parking meter
|
| 21 |
+
- bench
|
| 22 |
+
- bird
|
| 23 |
+
- cat
|
| 24 |
+
- dog
|
| 25 |
+
- horse
|
| 26 |
+
- sheep
|
| 27 |
+
- cow
|
| 28 |
+
- elephant
|
| 29 |
+
- bear
|
| 30 |
+
- zebra
|
| 31 |
+
- giraffe
|
| 32 |
+
- backpack
|
| 33 |
+
- umbrella
|
| 34 |
+
- handbag
|
| 35 |
+
- tie
|
| 36 |
+
- suitcase
|
| 37 |
+
- frisbee
|
| 38 |
+
- skis
|
| 39 |
+
- snowboard
|
| 40 |
+
- sports ball
|
| 41 |
+
- kite
|
| 42 |
+
- baseball bat
|
| 43 |
+
- baseball glove
|
| 44 |
+
- skateboard
|
| 45 |
+
- surfboard
|
| 46 |
+
- tennis racket
|
| 47 |
+
- bottle
|
| 48 |
+
- wine glass
|
| 49 |
+
- cup
|
| 50 |
+
- fork
|
| 51 |
+
- knife
|
| 52 |
+
- spoon
|
| 53 |
+
- bowl
|
| 54 |
+
- banana
|
| 55 |
+
- apple
|
| 56 |
+
- sandwich
|
| 57 |
+
- orange
|
| 58 |
+
- broccoli
|
| 59 |
+
- carrot
|
| 60 |
+
- hot dog
|
| 61 |
+
- pizza
|
| 62 |
+
- donut
|
| 63 |
+
- cake
|
| 64 |
+
- chair
|
| 65 |
+
- couch
|
| 66 |
+
- potted plant
|
| 67 |
+
- bed
|
| 68 |
+
- dining table
|
| 69 |
+
- toilet
|
| 70 |
+
- tv
|
| 71 |
+
- laptop
|
| 72 |
+
- mouse
|
| 73 |
+
- remote
|
| 74 |
+
- keyboard
|
| 75 |
+
- cell phone
|
| 76 |
+
- microwave
|
| 77 |
+
- oven
|
| 78 |
+
- toaster
|
| 79 |
+
- sink
|
| 80 |
+
- refrigerator
|
| 81 |
+
- book
|
| 82 |
+
- clock
|
| 83 |
+
- vase
|
| 84 |
+
- scissors
|
| 85 |
+
- teddy bear
|
| 86 |
+
- hair drier
|
| 87 |
+
- toothbrush
|
| 88 |
+
target_platform: rk3588
|
| 89 |
+
coordinates: pixels
|
| 90 |
+
precision: int8
|
models/segment/yolo11s-seg/rk3588/int8/model.rknn
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:660baf675cb9097d0e4ba2c22f711bf91ea4dbdacf08072f187e08e6db7e5ed5
|
| 3 |
+
size 12087849
|
source/convert-official.py
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Download the ONNX listed by Rockchip and invoke its unmodified converters."""
|
| 3 |
+
import argparse
|
| 4 |
+
import concurrent.futures
|
| 5 |
+
import hashlib
|
| 6 |
+
from importlib.metadata import version
|
| 7 |
+
import json
|
| 8 |
+
from pathlib import Path
|
| 9 |
+
import re
|
| 10 |
+
import shutil
|
| 11 |
+
import subprocess
|
| 12 |
+
import sys
|
| 13 |
+
import tempfile
|
| 14 |
+
import yaml
|
| 15 |
+
|
| 16 |
+
DETECTORS = ("yolov5", "yolov6", "yolov7", "yolov8", "yolov10", "yolo11",
|
| 17 |
+
"yolo26", "yolox", "ppyoloe", "yolo_world")
|
| 18 |
+
TASKS = ("yolov5_seg", "yolov8_seg", "yolov8_pose", "yolov8_obb")
|
| 19 |
+
SUPPLIED_ONNX = {
|
| 20 |
+
"yolo26n": "https://meta.zbox.filez.com/v/link/view/dddfdaa76107404a8a358673fa31a041",
|
| 21 |
+
"yolo26m": "https://meta.zbox.filez.com/v/link/view/198e90ee6bc94c71ad2002d5f9897ac4",
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
def inventory(zoo):
|
| 26 |
+
for family in (*DETECTORS, *TASKS):
|
| 27 |
+
readme = zoo / "examples" / family / "README.md"
|
| 28 |
+
urls = re.findall(r"\((https://[^)]+\.onnx)\)", readme.read_text())
|
| 29 |
+
assets = {Path(url).stem: url for url in urls}
|
| 30 |
+
if family in ("yolov8_pose", "yolov8_obb"):
|
| 31 |
+
assets = {name: url for name, url in assets.items() if "v5n-" in name or "v8n-" in name}
|
| 32 |
+
if family == "yolo26":
|
| 33 |
+
assets.update({"yolo26n": None, "yolo26m": None})
|
| 34 |
+
for name, url in assets.items():
|
| 35 |
+
yield family, name, url
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
def download(root, zoo, family, name, url):
|
| 39 |
+
destination = root / "onnx" / family / f"{name}.onnx"
|
| 40 |
+
destination.parent.mkdir(parents=True, exist_ok=True)
|
| 41 |
+
if not destination.is_file():
|
| 42 |
+
local = zoo / "examples" / family / "model" / destination.name
|
| 43 |
+
if not url and local.is_file():
|
| 44 |
+
shutil.copy2(local, destination)
|
| 45 |
+
elif url:
|
| 46 |
+
partial = destination.with_suffix(".part")
|
| 47 |
+
subprocess.run(["curl", "-fLsS", "--retry", "2", "--connect-timeout", "12",
|
| 48 |
+
"--max-time", "180", "-o", partial, url], check=True)
|
| 49 |
+
partial.replace(destination)
|
| 50 |
+
else:
|
| 51 |
+
raise FileNotFoundError(
|
| 52 |
+
f"Download {SUPPLIED_ONNX[name]} and save its ONNX as {destination}")
|
| 53 |
+
import onnx
|
| 54 |
+
onnx.load(str(destination), load_external_data=False)
|
| 55 |
+
return destination
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
def digest(path):
|
| 59 |
+
checksum = hashlib.sha256()
|
| 60 |
+
with path.open("rb") as stream:
|
| 61 |
+
for block in iter(lambda: stream.read(1024 * 1024), b""):
|
| 62 |
+
checksum.update(block)
|
| 63 |
+
return checksum.hexdigest()
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
def write_metadata(zoo, family, model, destination, chip):
|
| 67 |
+
if family == "yolo_world":
|
| 68 |
+
return
|
| 69 |
+
import onnx
|
| 70 |
+
inputs = onnx.load(str(model), load_external_data=False).graph.input
|
| 71 |
+
shape = [dim.dim_value for dim in inputs[0].type.tensor_type.shape.dim]
|
| 72 |
+
if len(shape) != 4 or shape[:2] != [1, 3] or min(shape[2:]) <= 0:
|
| 73 |
+
raise RuntimeError(f"Expected static NCHW RGB model, got {shape}")
|
| 74 |
+
assets = zoo / "examples" / family / "model"
|
| 75 |
+
labels = next(assets.glob("*labels_list.txt"))
|
| 76 |
+
tasks = {"yolov5_seg": "segment", "yolov8_seg": "segment",
|
| 77 |
+
"yolov8_pose": "pose", "yolov8_obb": "obb"}
|
| 78 |
+
task = tasks.get(family, "detect")
|
| 79 |
+
info = {
|
| 80 |
+
"task": task, "batch": 1, "channels": 3, "imgsz": shape[2:],
|
| 81 |
+
"names": [line.strip() for line in labels.read_text().splitlines() if line.strip()],
|
| 82 |
+
"target_platform": chip,
|
| 83 |
+
"coordinates": "pixels",
|
| 84 |
+
}
|
| 85 |
+
if family in ("yolov5", "yolov5_seg", "yolov7"):
|
| 86 |
+
values = [float(value) for value in next(assets.glob("anchors_*.txt")).read_text().split()]
|
| 87 |
+
info.update(head="anchored", anchors=[values[i:i + 6] for i in range(0, len(values), 6)])
|
| 88 |
+
if family == "yolox":
|
| 89 |
+
info["head"] = "yolox"
|
| 90 |
+
if family in ("yolov10", "yolo26"):
|
| 91 |
+
info["end2end"] = True
|
| 92 |
+
if task == "pose":
|
| 93 |
+
info["kpt_shape"] = [17, 3]
|
| 94 |
+
(destination / "metadata.yaml").write_text(yaml.safe_dump(info, sort_keys=False))
|
| 95 |
+
|
| 96 |
+
|
| 97 |
+
def convert(root, zoo, asset, chip, precision, refresh_metadata=False):
|
| 98 |
+
family, name, model, source = asset
|
| 99 |
+
destination = root / "rknn" / chip / family / name / precision
|
| 100 |
+
destination.mkdir(parents=True, exist_ok=True)
|
| 101 |
+
output = destination / "model.rknn"
|
| 102 |
+
receipt = destination / "conversion.json"
|
| 103 |
+
if not refresh_metadata and output.is_file() and receipt.is_file() and (
|
| 104 |
+
family == "yolo_world" or (destination / "metadata.yaml").is_file()):
|
| 105 |
+
return f"cached {family}/{name} {chip} {precision}"
|
| 106 |
+
work_root = root / "scratch"
|
| 107 |
+
work_root.mkdir(exist_ok=True)
|
| 108 |
+
with tempfile.TemporaryDirectory(dir=work_root, prefix=f"{name}-{chip}-{precision}-") as scratch:
|
| 109 |
+
# Keep the relative dataset and model paths expected by the official scripts.
|
| 110 |
+
tree = Path(scratch)
|
| 111 |
+
(tree / "datasets").symlink_to(zoo / "datasets")
|
| 112 |
+
example = tree / "examples" / family
|
| 113 |
+
example.mkdir(parents=True)
|
| 114 |
+
(example / "model").symlink_to(zoo / "examples" / family / "model")
|
| 115 |
+
working = example / "python"
|
| 116 |
+
shutil.copytree(zoo / "examples" / family / "python", working)
|
| 117 |
+
staged = destination / "model.partial.rknn"
|
| 118 |
+
commands = []
|
| 119 |
+
if family == "yolo_world":
|
| 120 |
+
subdir = "clip_text" if name == "clip_text" else "yolo_world"
|
| 121 |
+
script = f"{subdir}/convert.py"
|
| 122 |
+
commands.append([script, str(model), chip, precision, str(staged)])
|
| 123 |
+
elif family == "yolov8_pose":
|
| 124 |
+
if precision == "i8":
|
| 125 |
+
commands.append(["convert.py", str(model), chip, "i8", "1"])
|
| 126 |
+
commands.append(["convert.py", str(model), chip, "i8", "2", str(staged)])
|
| 127 |
+
else:
|
| 128 |
+
commands.append(["convert.py", str(model), chip, "fp", "1", str(staged)])
|
| 129 |
+
else:
|
| 130 |
+
commands.append(["convert.py", str(model), chip, precision, str(staged)])
|
| 131 |
+
if not output.is_file():
|
| 132 |
+
with (destination / "convert.log").open("w") as log:
|
| 133 |
+
for command in commands:
|
| 134 |
+
print(subprocess.list2cmdline(command), file=log, flush=True)
|
| 135 |
+
subprocess.run([sys.executable, *command], cwd=working,
|
| 136 |
+
stdout=log, stderr=subprocess.STDOUT, check=True)
|
| 137 |
+
if not staged.is_file() or not staged.stat().st_size:
|
| 138 |
+
raise RuntimeError("Converter did not produce an RKNN file")
|
| 139 |
+
staged.replace(output)
|
| 140 |
+
write_metadata(zoo, family, model, destination, chip)
|
| 141 |
+
receipt.write_text(json.dumps({
|
| 142 |
+
"source": source, "onnx_sha256": digest(model), "rknn_sha256": digest(output),
|
| 143 |
+
"commands": commands, "toolkit_python": sys.executable,
|
| 144 |
+
"toolkit_version": version("rknn-toolkit2"),
|
| 145 |
+
"zoo_commit": subprocess.check_output(
|
| 146 |
+
["git", "-C", str(zoo), "rev-parse", "HEAD"], text=True).strip(),
|
| 147 |
+
}, indent=2) + "\n")
|
| 148 |
+
return f"ok {family}/{name} {chip} {precision}"
|
| 149 |
+
|
| 150 |
+
|
| 151 |
+
def main():
|
| 152 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 153 |
+
root = Path(__file__).resolve().parent
|
| 154 |
+
parser.add_argument("--zoo", type=Path, default=root.parent / "rknn_model_zoo",
|
| 155 |
+
help="Model Zoo checkout (default: ../rknn_model_zoo)")
|
| 156 |
+
parser.add_argument("--jobs", type=int, default=4)
|
| 157 |
+
parser.add_argument("--model", action="append", help="Limit the run to named variants")
|
| 158 |
+
parser.add_argument("--chip", choices=("rk3576", "rk3588"), action="append")
|
| 159 |
+
parser.add_argument("--precision", choices=("i8", "fp"), action="append")
|
| 160 |
+
parser.add_argument("--refresh-metadata", action="store_true")
|
| 161 |
+
args = parser.parse_args()
|
| 162 |
+
zoo = args.zoo.resolve()
|
| 163 |
+
inventory_rows = [item for item in inventory(zoo) if not args.model or item[1] in args.model]
|
| 164 |
+
failures = 0
|
| 165 |
+
with concurrent.futures.ThreadPoolExecutor(max_workers=6) as downloads, \
|
| 166 |
+
concurrent.futures.ThreadPoolExecutor(max_workers=args.jobs) as workers:
|
| 167 |
+
pending = {downloads.submit(download, root, zoo, *item): item for item in inventory_rows}
|
| 168 |
+
builds = {}
|
| 169 |
+
for future in concurrent.futures.as_completed(pending):
|
| 170 |
+
family, name, source = pending[future]
|
| 171 |
+
try:
|
| 172 |
+
model = future.result()
|
| 173 |
+
asset = family, name, model, source or SUPPLIED_ONNX.get(name) or str(model)
|
| 174 |
+
for chip in args.chip or ("rk3576", "rk3588"):
|
| 175 |
+
for precision in args.precision or ("i8", "fp"):
|
| 176 |
+
if name == "clip_text" and precision == "i8":
|
| 177 |
+
continue
|
| 178 |
+
job = workers.submit(convert, root, zoo, asset, chip, precision,
|
| 179 |
+
args.refresh_metadata)
|
| 180 |
+
builds[job] = family, name, chip, precision
|
| 181 |
+
except Exception as error:
|
| 182 |
+
print(f"asset failed {family}/{name}: {error}", flush=True)
|
| 183 |
+
failures += 1
|
| 184 |
+
for future in concurrent.futures.as_completed(builds):
|
| 185 |
+
try:
|
| 186 |
+
print(future.result(), flush=True)
|
| 187 |
+
except Exception as error:
|
| 188 |
+
print(f"build failed {' '.join(builds[future])}: {error}", flush=True)
|
| 189 |
+
failures += 1
|
| 190 |
+
return bool(failures)
|
| 191 |
+
|
| 192 |
+
|
| 193 |
+
if __name__ == "__main__":
|
| 194 |
+
raise SystemExit(main())
|
source/exporters.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"yolov8": {
|
| 3 |
+
"exporter": "https://github.com/airockchip/ultralytics_yolov8/tree/4674fe6e003dfbc5f2250d3b39dd31faaf7a9877",
|
| 4 |
+
"script": "source/extensions/yolov8/convert-guided-tasks.py"
|
| 5 |
+
},
|
| 6 |
+
"yolo11": {
|
| 7 |
+
"exporter": "https://github.com/airockchip/ultralytics_yolo11/tree/0692e9297670acf4cc6d0cec773d7a9493cb8a5f",
|
| 8 |
+
"script": "source/extensions/yolo11/convert-yolo11.py"
|
| 9 |
+
},
|
| 10 |
+
"yolov10": {
|
| 11 |
+
"exporter": "https://github.com/airockchip/yolov10/tree/81f32c4ee396e679b489ff786faa0f9fa0eec298",
|
| 12 |
+
"script": "source/extensions/yolov10/convert-yolov10.py"
|
| 13 |
+
},
|
| 14 |
+
"model_zoo": "https://github.com/airockchip/rknn_model_zoo/tree/837db8e992815ff8647eadb709f07067f4bc3a71"
|
| 15 |
+
}
|
source/extensions/yolo11/convert-yolo11.py
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Compile the Rockchip YOLO11 task exports using their Model Zoo counterparts."""
|
| 2 |
+
|
| 3 |
+
import argparse
|
| 4 |
+
import concurrent.futures
|
| 5 |
+
import hashlib
|
| 6 |
+
import itertools
|
| 7 |
+
import json
|
| 8 |
+
import os
|
| 9 |
+
from pathlib import Path
|
| 10 |
+
import re
|
| 11 |
+
import subprocess
|
| 12 |
+
import sys
|
| 13 |
+
|
| 14 |
+
import onnx
|
| 15 |
+
import yaml
|
| 16 |
+
|
| 17 |
+
|
| 18 |
+
RECIPES = {
|
| 19 |
+
"seg": ("segment", "yolov8_seg", "coco_80_labels_list.txt"),
|
| 20 |
+
"pose": ("pose", "yolov8_pose", "yolov8_pose_labels_list.txt"),
|
| 21 |
+
"obb": ("obb", "yolov8_obb", "yolov8_obb_labels_list.txt"),
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
def sha256(path):
|
| 26 |
+
with path.open("rb") as handle:
|
| 27 |
+
return hashlib.file_digest(handle, "sha256").hexdigest()
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
def export_onnx(root, weights):
|
| 31 |
+
upstream = root / "upstream"
|
| 32 |
+
config = upstream / "ultralytics" / "cfg" / "default.yaml"
|
| 33 |
+
original = config.read_text()
|
| 34 |
+
pristine = subprocess.check_output(
|
| 35 |
+
["git", "show", "HEAD:ultralytics/cfg/default.yaml"], cwd=upstream, text=True,
|
| 36 |
+
)
|
| 37 |
+
if original != pristine:
|
| 38 |
+
raise RuntimeError(f"Restore the Rockchip exporter config before running: {config}")
|
| 39 |
+
(root / "onnx").mkdir(exist_ok=True)
|
| 40 |
+
try:
|
| 41 |
+
for task in RECIPES:
|
| 42 |
+
name = f"yolo11n-{task}"
|
| 43 |
+
checkpoint = weights / f"{name}.pt"
|
| 44 |
+
if not checkpoint.is_file():
|
| 45 |
+
raise FileNotFoundError(checkpoint)
|
| 46 |
+
model = root / "onnx" / checkpoint.name
|
| 47 |
+
if model.is_symlink() and model.resolve() != checkpoint.resolve():
|
| 48 |
+
model.unlink()
|
| 49 |
+
if not model.exists():
|
| 50 |
+
model.symlink_to(checkpoint)
|
| 51 |
+
config.write_text(
|
| 52 |
+
re.sub(r"^model:.*$", f"model: {json.dumps(str(model))}", original, flags=re.M)
|
| 53 |
+
)
|
| 54 |
+
print(f"Rockchip RKOPT export: {name}", flush=True)
|
| 55 |
+
log = root / "logs" / f"export-{task}.log"
|
| 56 |
+
with log.open("w") as handle:
|
| 57 |
+
subprocess.run(
|
| 58 |
+
[sys.executable, "ultralytics/engine/exporter.py"], cwd=upstream,
|
| 59 |
+
stdout=handle, stderr=subprocess.STDOUT, check=True,
|
| 60 |
+
env={
|
| 61 |
+
**os.environ, "PYTHONPATH": ".", "YOLO_AUTOINSTALL": "false",
|
| 62 |
+
"YOLO_CONFIG_DIR": str(root / "settings"), "OMP_NUM_THREADS": "2",
|
| 63 |
+
},
|
| 64 |
+
)
|
| 65 |
+
onnx.checker.check_model(str(model.with_suffix(".onnx")))
|
| 66 |
+
finally:
|
| 67 |
+
config.write_text(original)
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
def pose_recipe(recipe, model, output):
|
| 71 |
+
graph = onnx.load(model).graph
|
| 72 |
+
tensor_names = {name for node in graph.node for name in node.output}
|
| 73 |
+
keypoints = [
|
| 74 |
+
value.name for value in graph.output
|
| 75 |
+
if [dim.dim_value for dim in value.type.tensor_type.shape.dim] == [1, 17, 3, 8400]
|
| 76 |
+
]
|
| 77 |
+
if len(keypoints) != 1:
|
| 78 |
+
raise ValueError("Cannot identify the decoded YOLO11 keypoint tensor")
|
| 79 |
+
|
| 80 |
+
# The upstream YOLOv8 ranges keep each keypoint branch through its decoded
|
| 81 |
+
# output in floating point. YOLO11 has the same branches but a different
|
| 82 |
+
# head number and final Concat, so check both endpoints in the ONNX graph.
|
| 83 |
+
script = recipe.read_text()
|
| 84 |
+
starts = [f"/model.23/cv4.{i}/cv4.{i}.0/act/Mul_output_0" for i in range(3)]
|
| 85 |
+
if not all(name in tensor_names for name in [*starts, keypoints[0]]):
|
| 86 |
+
raise ValueError("YOLO11 pose hybrid range is missing from the graph")
|
| 87 |
+
if len(re.findall(r"/model\.22/cv4\.", script)) != 3:
|
| 88 |
+
raise ValueError("Unexpected Model Zoo pose recipe")
|
| 89 |
+
output.write_text(
|
| 90 |
+
script.replace("/model.22/cv4.", "/model.23/cv4.").replace(
|
| 91 |
+
"/model.22/Concat_6_output_0", keypoints[0]
|
| 92 |
+
)
|
| 93 |
+
)
|
| 94 |
+
|
| 95 |
+
|
| 96 |
+
def convert(root, zoo, task, chip, precision):
|
| 97 |
+
task_name, example, labels = RECIPES[task]
|
| 98 |
+
name = f"yolo11n-{task}"
|
| 99 |
+
model = root / "onnx" / f"{name}.onnx"
|
| 100 |
+
example_root = zoo / "examples" / example
|
| 101 |
+
recipe = example_root / "python" / "convert.py"
|
| 102 |
+
job = root / "scratch" / name / chip / precision
|
| 103 |
+
cwd = job / "examples" / example / "python"
|
| 104 |
+
cwd.mkdir(parents=True, exist_ok=True)
|
| 105 |
+
dataset = job / "datasets"
|
| 106 |
+
if not dataset.is_symlink():
|
| 107 |
+
dataset.symlink_to(zoo / "datasets", target_is_directory=True)
|
| 108 |
+
destination = root / "rknn" / chip / name / precision
|
| 109 |
+
destination.mkdir(parents=True, exist_ok=True)
|
| 110 |
+
output = destination / "model.rknn"
|
| 111 |
+
pending = destination / "model.partial.rknn"
|
| 112 |
+
if pending.exists():
|
| 113 |
+
pending.unlink()
|
| 114 |
+
|
| 115 |
+
if task == "pose" and precision == "i8":
|
| 116 |
+
adapted = cwd / "convert.py"
|
| 117 |
+
pose_recipe(recipe, model, adapted)
|
| 118 |
+
commands = [
|
| 119 |
+
[adapted, model, chip, precision, "1"],
|
| 120 |
+
[adapted, model, chip, precision, "2", pending],
|
| 121 |
+
]
|
| 122 |
+
elif task == "pose":
|
| 123 |
+
commands = [[recipe, model, chip, precision, "1", pending]]
|
| 124 |
+
else:
|
| 125 |
+
commands = [[recipe, model, chip, precision, pending]]
|
| 126 |
+
|
| 127 |
+
log = root / "logs" / f"{name}-{chip}-{precision}.log"
|
| 128 |
+
with log.open("w") as handle:
|
| 129 |
+
for command in commands:
|
| 130 |
+
subprocess.run(
|
| 131 |
+
[sys.executable, *command], cwd=cwd, stdout=handle,
|
| 132 |
+
stderr=subprocess.STDOUT, check=True,
|
| 133 |
+
env={**os.environ, "OMP_NUM_THREADS": "2"},
|
| 134 |
+
)
|
| 135 |
+
if not pending.is_file() or not pending.stat().st_size:
|
| 136 |
+
raise RuntimeError(f"No RKNN file written; see {log}")
|
| 137 |
+
pending.replace(output)
|
| 138 |
+
|
| 139 |
+
metadata = {
|
| 140 |
+
"task": task_name,
|
| 141 |
+
"batch": 1,
|
| 142 |
+
"channels": 3,
|
| 143 |
+
"imgsz": [640, 640],
|
| 144 |
+
"names": (example_root / "model" / labels).read_text().splitlines(),
|
| 145 |
+
"target_platform": chip,
|
| 146 |
+
"coordinates": "pixels",
|
| 147 |
+
"precision": "fp16" if precision == "fp" else "int8",
|
| 148 |
+
}
|
| 149 |
+
if task == "pose":
|
| 150 |
+
metadata["kpt_shape"] = [17, 3]
|
| 151 |
+
(destination / "metadata.yaml").write_text(yaml.safe_dump(metadata, sort_keys=False))
|
| 152 |
+
return {
|
| 153 |
+
"name": name, "chip": chip, "precision": precision, "status": "ok",
|
| 154 |
+
"onnx": str(model), "onnx_sha256": sha256(model),
|
| 155 |
+
"recipe": str(recipe), "recipe_sha256": sha256(recipe),
|
| 156 |
+
"rknn": str(output), "rknn_sha256": sha256(output),
|
| 157 |
+
"bytes": output.stat().st_size, "log": str(log),
|
| 158 |
+
}
|
| 159 |
+
|
| 160 |
+
|
| 161 |
+
def main():
|
| 162 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 163 |
+
parser.add_argument("--zoo", type=Path, required=True)
|
| 164 |
+
parser.add_argument(
|
| 165 |
+
"--weights", type=Path,
|
| 166 |
+
help="Re-export ONNX from YOLO11 nano .pt files using the adjacent Rockchip upstream clone",
|
| 167 |
+
)
|
| 168 |
+
parser.add_argument("--workers", type=int, default=3)
|
| 169 |
+
args = parser.parse_args()
|
| 170 |
+
root = Path(__file__).resolve().parent
|
| 171 |
+
zoo = args.zoo.resolve()
|
| 172 |
+
(root / "logs").mkdir(exist_ok=True)
|
| 173 |
+
if args.weights:
|
| 174 |
+
export_onnx(root, args.weights.resolve())
|
| 175 |
+
jobs = itertools.product(RECIPES, ("rk3576", "rk3588"), ("i8", "fp"))
|
| 176 |
+
results = []
|
| 177 |
+
with concurrent.futures.ThreadPoolExecutor(args.workers) as pool:
|
| 178 |
+
running = {pool.submit(convert, root, zoo, *job): job for job in jobs}
|
| 179 |
+
for future in concurrent.futures.as_completed(running):
|
| 180 |
+
task, chip, precision = running[future]
|
| 181 |
+
try:
|
| 182 |
+
result = future.result()
|
| 183 |
+
except Exception as error:
|
| 184 |
+
result = {
|
| 185 |
+
"name": f"yolo11n-{task}", "chip": chip, "precision": precision,
|
| 186 |
+
"status": "failed", "error": str(error),
|
| 187 |
+
}
|
| 188 |
+
print(json.dumps(result), flush=True)
|
| 189 |
+
results.append(result)
|
| 190 |
+
(root / "manifest.json").write_text(json.dumps(results, indent=2) + "\n")
|
| 191 |
+
return int(any(result["status"] != "ok" for result in results))
|
| 192 |
+
|
| 193 |
+
|
| 194 |
+
if __name__ == "__main__":
|
| 195 |
+
sys.exit(main())
|
source/weights.json
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"name": "yolo11m-cls",
|
| 4 |
+
"family": "yolo11",
|
| 5 |
+
"size": "m",
|
| 6 |
+
"task": "classify",
|
| 7 |
+
"imgsz": 224,
|
| 8 |
+
"bytes": 23487128,
|
| 9 |
+
"sha256": "80583b974e44292d56fc5ba4d26cd0bb04e77edc8bbf4317f7ce678147156dd5",
|
| 10 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11m-cls.pt",
|
| 11 |
+
"file": "source/weights/yolo11m-cls.pt"
|
| 12 |
+
},
|
| 13 |
+
{
|
| 14 |
+
"name": "yolo11n-cls",
|
| 15 |
+
"family": "yolo11",
|
| 16 |
+
"size": "n",
|
| 17 |
+
"task": "classify",
|
| 18 |
+
"imgsz": 224,
|
| 19 |
+
"bytes": 5790624,
|
| 20 |
+
"sha256": "c62d41bf9625777760018bf914d2e6cd472420ccd01706d97a61cb6c82502bd7",
|
| 21 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11n-cls.pt",
|
| 22 |
+
"file": "source/weights/yolo11n-cls.pt"
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"name": "yolo11s-cls",
|
| 26 |
+
"family": "yolo11",
|
| 27 |
+
"size": "s",
|
| 28 |
+
"task": "classify",
|
| 29 |
+
"imgsz": 224,
|
| 30 |
+
"bytes": 13630112,
|
| 31 |
+
"sha256": "e2b605d1c8c212b434a75a32759a6f7adf1d2b29c35f76bdccd4c794cb653cf2",
|
| 32 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11s-cls.pt",
|
| 33 |
+
"file": "source/weights/yolo11s-cls.pt"
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"name": "yolo11m-obb",
|
| 37 |
+
"family": "yolo11",
|
| 38 |
+
"size": "m",
|
| 39 |
+
"task": "obb",
|
| 40 |
+
"imgsz": 640,
|
| 41 |
+
"bytes": 42415346,
|
| 42 |
+
"sha256": "41832a4349c08190335bbc11a8e64726750702eb49cf09abb262bc394a13498c",
|
| 43 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11m-obb.pt",
|
| 44 |
+
"file": "source/weights/yolo11m-obb.pt"
|
| 45 |
+
},
|
| 46 |
+
{
|
| 47 |
+
"name": "yolo11m-pose",
|
| 48 |
+
"family": "yolo11",
|
| 49 |
+
"size": "m",
|
| 50 |
+
"task": "pose",
|
| 51 |
+
"imgsz": 640,
|
| 52 |
+
"bytes": 42459307,
|
| 53 |
+
"sha256": "29b17eaf3a3117cbea906090dbedf9159f7c6a49db58ec8b99ed2dfde1cf6eb2",
|
| 54 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11m-pose.pt",
|
| 55 |
+
"file": "source/weights/yolo11m-pose.pt"
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"name": "yolo11m-seg",
|
| 59 |
+
"family": "yolo11",
|
| 60 |
+
"size": "m",
|
| 61 |
+
"task": "segment",
|
| 62 |
+
"imgsz": 640,
|
| 63 |
+
"bytes": 45400152,
|
| 64 |
+
"sha256": "eb9a06f63e2206c35d68d839b08c362429ebecf933ad54c1ad68b2fd001c17cf",
|
| 65 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11m-seg.pt",
|
| 66 |
+
"file": "source/weights/yolo11m-seg.pt"
|
| 67 |
+
},
|
| 68 |
+
{
|
| 69 |
+
"name": "yolo11n-obb",
|
| 70 |
+
"family": "yolo11",
|
| 71 |
+
"size": "n",
|
| 72 |
+
"task": "obb",
|
| 73 |
+
"imgsz": 640,
|
| 74 |
+
"bytes": 5795654,
|
| 75 |
+
"sha256": "b62898ebf38940ca4df323863e45ee9d84a1a46d5d11ebdde529fb33aa9f3a32",
|
| 76 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11n-obb.pt",
|
| 77 |
+
"file": "source/weights/yolo11n-obb.pt"
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"name": "yolo11n-pose",
|
| 81 |
+
"family": "yolo11",
|
| 82 |
+
"size": "n",
|
| 83 |
+
"task": "pose",
|
| 84 |
+
"imgsz": 640,
|
| 85 |
+
"bytes": 6255593,
|
| 86 |
+
"sha256": "869e83fcdffdc7371fa4e34cd8e51c838cc729571d1635e5141e3075e9319dc0",
|
| 87 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11n-pose.pt",
|
| 88 |
+
"file": "source/weights/yolo11n-pose.pt"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"name": "yolo11n-seg",
|
| 92 |
+
"family": "yolo11",
|
| 93 |
+
"size": "n",
|
| 94 |
+
"task": "segment",
|
| 95 |
+
"imgsz": 640,
|
| 96 |
+
"bytes": 6182636,
|
| 97 |
+
"sha256": "55ed65c56c91713d23e8402371c6c49a6fd84f257f7dce452e8d70e41dcbe152",
|
| 98 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11n-seg.pt",
|
| 99 |
+
"file": "source/weights/yolo11n-seg.pt"
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"name": "yolo11s-obb",
|
| 103 |
+
"family": "yolo11",
|
| 104 |
+
"size": "s",
|
| 105 |
+
"task": "obb",
|
| 106 |
+
"imgsz": 640,
|
| 107 |
+
"bytes": 19934534,
|
| 108 |
+
"sha256": "43fa63102922e0701501241b307420d24fc55e080816888b18bf8c6f96b1a45a",
|
| 109 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11s-obb.pt",
|
| 110 |
+
"file": "source/weights/yolo11s-obb.pt"
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"name": "yolo11s-pose",
|
| 114 |
+
"family": "yolo11",
|
| 115 |
+
"size": "s",
|
| 116 |
+
"task": "pose",
|
| 117 |
+
"imgsz": 640,
|
| 118 |
+
"bytes": 20373161,
|
| 119 |
+
"sha256": "1060bda4a27012060eca246f9b2adeea22eabb045a1e58f8d229be29b7ebc2ba",
|
| 120 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11s-pose.pt",
|
| 121 |
+
"file": "source/weights/yolo11s-pose.pt"
|
| 122 |
+
},
|
| 123 |
+
{
|
| 124 |
+
"name": "yolo11s-seg",
|
| 125 |
+
"family": "yolo11",
|
| 126 |
+
"size": "s",
|
| 127 |
+
"task": "segment",
|
| 128 |
+
"imgsz": 640,
|
| 129 |
+
"bytes": 20669228,
|
| 130 |
+
"sha256": "1caa81c0195412efa411b632bcfb8c184939dddb6ae41f6a80c41b211ff257c3",
|
| 131 |
+
"source": "https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo11s-seg.pt",
|
| 132 |
+
"file": "source/weights/yolo11s-seg.pt"
|
| 133 |
+
}
|
| 134 |
+
]
|