crazychenz commited on
Commit
2d303c1
·
1 Parent(s): 5066876

initial commit

Browse files
Files changed (47) hide show
  1. .gitattributes +7 -0
  2. safetensors/convert.py +18 -0
  3. safetensors/yolov5su.safetensors +3 -0
  4. yolov5-om/fusion_result.json +138 -0
  5. yolov5-om/onnx-version.py +14 -0
  6. yolov5-om/yolov5su-opset14.onnx +3 -0
  7. yolov5-om/yolov5su-upstream.pt +3 -0
  8. yolov5-om/yolov5su.om +3 -0
  9. yolov5-om/yolov5su_saved_model/fingerprint.pb +3 -0
  10. yolov5-om/yolov5su_saved_model/metadata.yaml +101 -0
  11. yolov5-om/yolov5su_saved_model/read-tflite.py +13 -0
  12. yolov5-om/yolov5su_saved_model/saved_model.pb +3 -0
  13. yolov5-om/yolov5su_saved_model/variables/variables.data-00000-of-00001 +0 -0
  14. yolov5-om/yolov5su_saved_model/variables/variables.index +0 -0
  15. yolov5-om/yolov5su_saved_model/yolov5su_float16.tflite +3 -0
  16. yolov5-om/yolov5su_saved_model/yolov5su_float32.tflite +3 -0
  17. yolov5-om/yolov5supt_to_onnx14.py +29 -0
  18. yolov5-rknn/convert.py +35 -0
  19. yolov5-rknn/yolov5su-opset14.onnx +3 -0
  20. yolov5-rknn/yolov5su.onnx +3 -0
  21. yolov5-rknn/yolov5su.rknn +3 -0
  22. yolov5su.mlpackage/Data/com.apple.CoreML/model.mlmodel +3 -0
  23. yolov5su.mlpackage/Data/com.apple.CoreML/weights/weight.bin +3 -0
  24. yolov5su.mlpackage/Manifest.json +18 -0
  25. yolov5su.mnn +3 -0
  26. yolov5su.onnx +3 -0
  27. yolov5su.pt +3 -0
  28. yolov5su.torchscript +3 -0
  29. yolov5su_ncnn_model/metadata.yaml +98 -0
  30. yolov5su_ncnn_model/model.ncnn.bin +3 -0
  31. yolov5su_ncnn_model/model.ncnn.param +3 -0
  32. yolov5su_ncnn_model/model_ncnn.py +26 -0
  33. yolov5su_openvino_model/metadata.yaml +102 -0
  34. yolov5su_openvino_model/yolov5su.bin +3 -0
  35. yolov5su_openvino_model/yolov5su.xml +0 -0
  36. yolov5su_paddle_model/inference_model/model.json +0 -0
  37. yolov5su_paddle_model/inference_model/model.pdiparams +3 -0
  38. yolov5su_paddle_model/metadata.yaml +97 -0
  39. yolov5su_paddle_model/model.pdparams +3 -0
  40. yolov5su_paddle_model/x2paddle_code.py +405 -0
  41. yolov5su_saved_model/fingerprint.pb +3 -0
  42. yolov5su_saved_model/metadata.yaml +101 -0
  43. yolov5su_saved_model/saved_model.pb +3 -0
  44. yolov5su_saved_model/variables/variables.data-00000-of-00001 +0 -0
  45. yolov5su_saved_model/variables/variables.index +0 -0
  46. yolov5su_saved_model/yolov5su_float16.tflite +3 -0
  47. yolov5su_saved_model/yolov5su_float32.tflite +3 -0
.gitattributes CHANGED
@@ -33,3 +33,10 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.om filter=lfs diff=lfs merge=lfs -text
37
+ *.mnn filter=lfs diff=lfs merge=lfs -text
38
+ *.rknn filter=lfs diff=lfs merge=lfs -text
39
+ *.torchscript filter=lfs diff=lfs merge=lfs -text
40
+ *.param filter=lfs diff=lfs merge=lfs -text
41
+ *.pdparams filter=lfs diff=lfs merge=lfs -text
42
+ *.pdiparams filter=lfs diff=lfs merge=lfs -text
safetensors/convert.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ import torch
4
+ from ultralytics import YOLO
5
+ from safetensors.torch import save_file
6
+
7
+ # Load model
8
+ model = YOLO("yolov5su.pt")
9
+
10
+ # Extract state dict
11
+ state_dict = model.model.state_dict()
12
+
13
+ # Convert all tensors to float32 (safetensors requires contiguous tensors)
14
+ state_dict = {k: v.contiguous().float() for k, v in state_dict.items()}
15
+
16
+ # Save
17
+ save_file(state_dict, "yolov5su.safetensors")
18
+ print("Done!")
safetensors/yolov5su.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d4255ae495f046438c6669542f7aa0af056a73c969a2757174e32915f8380463
3
+ size 36738396
yolov5-om/fusion_result.json ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "session_and_graph_id_0_0": {
3
+ "graph_fusion": {
4
+ "AConv2dMulFusion": {
5
+ "effect_times": "0",
6
+ "match_times": "69"
7
+ },
8
+ "ARefreshCubeC0FusionPass": {
9
+ "effect_times": "0",
10
+ "match_times": "76"
11
+ },
12
+ "ASoftmaxFusionPass": {
13
+ "effect_times": "0",
14
+ "match_times": "1"
15
+ },
16
+ "ConcatTileFusionPass": {
17
+ "effect_times": "0",
18
+ "match_times": "17"
19
+ },
20
+ "ConstToAttrPass": {
21
+ "effect_times": "3",
22
+ "match_times": "3"
23
+ },
24
+ "ConstToAttrStridedSliceV2Fusion": {
25
+ "effect_times": "2",
26
+ "match_times": "2"
27
+ },
28
+ "ConvConcatFusionPass": {
29
+ "effect_times": "0",
30
+ "match_times": "17"
31
+ },
32
+ "ConvFormatRefreshFusionPass": {
33
+ "effect_times": "0",
34
+ "match_times": "76"
35
+ },
36
+ "ConvToFullyConnectionFusionPass": {
37
+ "effect_times": "0",
38
+ "match_times": "76"
39
+ },
40
+ "ConvWeightCompressFusionPass": {
41
+ "effect_times": "0",
42
+ "match_times": "76"
43
+ },
44
+ "CubeTransFixpipeFusionPass": {
45
+ "effect_times": "0",
46
+ "match_times": "7"
47
+ },
48
+ "FIXPIPEAPREQUANTFUSIONPASS": {
49
+ "effect_times": "0",
50
+ "match_times": "76"
51
+ },
52
+ "FIXPIPEFUSIONPASS": {
53
+ "effect_times": "0",
54
+ "match_times": "76"
55
+ },
56
+ "FixPipeAbilityProcessPass": {
57
+ "effect_times": "76",
58
+ "match_times": "76"
59
+ },
60
+ "MulAddFusionPass": {
61
+ "effect_times": "0",
62
+ "match_times": "14"
63
+ },
64
+ "MulSquareFusionPass": {
65
+ "effect_times": "0",
66
+ "match_times": "70"
67
+ },
68
+ "RealDiv2MulsFusionPass": {
69
+ "effect_times": "1",
70
+ "match_times": "1"
71
+ },
72
+ "RefreshInt64ToInt32FusionPass": {
73
+ "effect_times": "1",
74
+ "match_times": "1"
75
+ },
76
+ "RemoveCastFusionPass": {
77
+ "effect_times": "0",
78
+ "match_times": "156"
79
+ },
80
+ "ReshapeTransposeFusionPass": {
81
+ "effect_times": "0",
82
+ "match_times": "1"
83
+ },
84
+ "SoftmaxFusionPass": {
85
+ "effect_times": "0",
86
+ "match_times": "1"
87
+ },
88
+ "SplitConvConcatFusionPass": {
89
+ "effect_times": "0",
90
+ "match_times": "17"
91
+ },
92
+ "StridedSliceRemovePass": {
93
+ "effect_times": "0",
94
+ "match_times": "2"
95
+ },
96
+ "SubFusionPass": {
97
+ "effect_times": "0",
98
+ "match_times": "2"
99
+ },
100
+ "TransdataCastFusionPass": {
101
+ "effect_times": "0",
102
+ "match_times": "85"
103
+ },
104
+ "TransdataFz2FzgFusionPass": {
105
+ "effect_times": "0",
106
+ "match_times": "9"
107
+ },
108
+ "TransdataFzg2FzFusionPass": {
109
+ "effect_times": "0",
110
+ "match_times": "9"
111
+ },
112
+ "TransposedUpdateFusionPass": {
113
+ "effect_times": "1",
114
+ "match_times": "1"
115
+ },
116
+ "ZConcatDFusionPass": {
117
+ "effect_times": "0",
118
+ "match_times": "17"
119
+ },
120
+ "softmaxTransFusionPass": {
121
+ "effect_times": "0",
122
+ "match_times": "1"
123
+ }
124
+ },
125
+ "ub_fusion": {
126
+ "TbeConvSigmoidMulQuantFusionPass": {
127
+ "effect_times": "69",
128
+ "match_times": "69",
129
+ "repository_hit_times": "0"
130
+ },
131
+ "TbeMultiOutputFusionPass": {
132
+ "effect_times": "1",
133
+ "match_times": "1",
134
+ "repository_hit_times": "0"
135
+ }
136
+ }
137
+ }
138
+ }
yolov5-om/onnx-version.py ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+
3
+ import onnx
4
+ import sys
5
+
6
+ # Load the ONNX model
7
+ model = onnx.load(sys.argv[1])
8
+
9
+ # Print the opset version
10
+ print("Opset version:", model.opset_import[0].version)
11
+
12
+ # Optional: print the IR version
13
+ print("IR version:", model.ir_version)
14
+
yolov5-om/yolov5su-opset14.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3323c5449a354a65237c660dce5b2cb537f6a4ba19d49d547bae382f94c08883
3
+ size 36822517
yolov5-om/yolov5su-upstream.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:054272ddbbb3035cea7ff6b97e5becea63d2cc57a4f06a2a8133f4d1a56e74ed
3
+ size 18581255
yolov5-om/yolov5su.om ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:893a40f9cf0af7fd2678caa3a966adf343a62636713a8cefe8287c1a8597c718
3
+ size 19302732
yolov5-om/yolov5su_saved_model/fingerprint.pb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6a1583cc759d1d9915e22824be3127da186cf3ed7536f4c5b432109a1d1bccbe
3
+ size 76
yolov5-om/yolov5su_saved_model/metadata.yaml ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ description: Ultralytics YOLOv5s model trained on coco.yaml
2
+ author: Ultralytics
3
+ date: '2026-02-06T07:41:51.180089'
4
+ version: 8.4.8
5
+ license: AGPL-3.0 License (https://ultralytics.com/license)
6
+ docs: https://docs.ultralytics.com
7
+ stride: 32
8
+ task: detect
9
+ batch: 1
10
+ imgsz:
11
+ - 640
12
+ - 640
13
+ names:
14
+ 0: person
15
+ 1: bicycle
16
+ 2: car
17
+ 3: motorcycle
18
+ 4: airplane
19
+ 5: bus
20
+ 6: train
21
+ 7: truck
22
+ 8: boat
23
+ 9: traffic light
24
+ 10: fire hydrant
25
+ 11: stop sign
26
+ 12: parking meter
27
+ 13: bench
28
+ 14: bird
29
+ 15: cat
30
+ 16: dog
31
+ 17: horse
32
+ 18: sheep
33
+ 19: cow
34
+ 20: elephant
35
+ 21: bear
36
+ 22: zebra
37
+ 23: giraffe
38
+ 24: backpack
39
+ 25: umbrella
40
+ 26: handbag
41
+ 27: tie
42
+ 28: suitcase
43
+ 29: frisbee
44
+ 30: skis
45
+ 31: snowboard
46
+ 32: sports ball
47
+ 33: kite
48
+ 34: baseball bat
49
+ 35: baseball glove
50
+ 36: skateboard
51
+ 37: surfboard
52
+ 38: tennis racket
53
+ 39: bottle
54
+ 40: wine glass
55
+ 41: cup
56
+ 42: fork
57
+ 43: knife
58
+ 44: spoon
59
+ 45: bowl
60
+ 46: banana
61
+ 47: apple
62
+ 48: sandwich
63
+ 49: orange
64
+ 50: broccoli
65
+ 51: carrot
66
+ 52: hot dog
67
+ 53: pizza
68
+ 54: donut
69
+ 55: cake
70
+ 56: chair
71
+ 57: couch
72
+ 58: potted plant
73
+ 59: bed
74
+ 60: dining table
75
+ 61: toilet
76
+ 62: tv
77
+ 63: laptop
78
+ 64: mouse
79
+ 65: remote
80
+ 66: keyboard
81
+ 67: cell phone
82
+ 68: microwave
83
+ 69: oven
84
+ 70: toaster
85
+ 71: sink
86
+ 72: refrigerator
87
+ 73: book
88
+ 74: clock
89
+ 75: vase
90
+ 76: scissors
91
+ 77: teddy bear
92
+ 78: hair drier
93
+ 79: toothbrush
94
+ args:
95
+ batch: 1
96
+ fraction: 1.0
97
+ half: false
98
+ int8: false
99
+ nms: false
100
+ channels: 3
101
+ end2end: false
yolov5-om/yolov5su_saved_model/read-tflite.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+
3
+ import flatbuffers
4
+ import tflite.Model as tflite_model
5
+
6
+ with open("yolov5su_float32.tflite", "rb") as f:
7
+ buf = f.read()
8
+
9
+ model = tflite_model.GetRootAsModel(buf, 0)
10
+ print("Number of subgraphs:", model.SubgraphsLength())
11
+ for i in range(model.SubgraphsLength()):
12
+ sg = model.Subgraphs(i)
13
+ print(f"Subgraph {i} has {sg.TensorsLength()} tensors")
yolov5-om/yolov5su_saved_model/saved_model.pb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:729eaa2d4eeda365d5e02569f4bd5a70abf9b23cc498a08d993300a36ea2b131
3
+ size 36998135
yolov5-om/yolov5su_saved_model/variables/variables.data-00000-of-00001 ADDED
Binary file (6.42 kB). View file
 
yolov5-om/yolov5su_saved_model/variables/variables.index ADDED
Binary file (145 Bytes). View file
 
yolov5-om/yolov5su_saved_model/yolov5su_float16.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b3131f28432fd902af1fc7b50a1edf5f0c2db786057341c6f3a966e7dfbc776
3
+ size 18464625
yolov5-om/yolov5su_saved_model/yolov5su_float32.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2fb37ea1123be05c0c15f4ed5d0ae38cc9e2d326e8359d92e1610edce871cbd3
3
+ size 36832425
yolov5-om/yolov5supt_to_onnx14.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+
3
+ import sys
4
+ import torch
5
+ from pathlib import Path
6
+
7
+ # Load your PyTorch model
8
+ checkpoint = torch.load(sys.argv[1], map_location="cpu", weights_only=False) # adjust path
9
+ model = checkpoint['model'] if 'model' in checkpoint else checkpoint
10
+ model.eval()
11
+
12
+ # Dummy input matching the model input
13
+ dummy_input = torch.randn(1, 3, 640, 640) # Adjust shape to your model
14
+
15
+ # Export to ONNX
16
+ onnx_path = Path("model.onnx")
17
+ torch.onnx.export(
18
+ model,
19
+ dummy_input,
20
+ str(onnx_path),
21
+ export_params=True,
22
+ opset_version=14, # recommended for ATC
23
+ do_constant_folding=True,
24
+ input_names=['images'],
25
+ output_names=['output'],
26
+ dynamic_axes={'images': {0: 'batch_size'}, 'output': {0: 'batch_size'}}
27
+ )
28
+ print(f"Exported ONNX model to {onnx_path}")
29
+
yolov5-rknn/convert.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+
3
+ # apt-get install libgl1
4
+ # pip install rknn-toolkit2
5
+ # pip install onnxsim
6
+ # pip install "setuptools<70"
7
+ # pip install "onnx==1.14.1"
8
+
9
+ from rknn.api import RKNN
10
+
11
+ rknn = RKNN()
12
+
13
+ # 1. Configure
14
+ rknn.config(
15
+ mean_values=[[0, 0, 0]],
16
+ std_values=[[255, 255, 255]],
17
+ target_platform='rk3588' # or rk3566, rk3568
18
+ )
19
+
20
+ # 2. Load ONNX
21
+ ret = rknn.load_onnx(model='yolov5su-opset14.onnx')
22
+ if ret != 0:
23
+ exit(ret)
24
+
25
+ # 3. Build (quantization optional but recommended)
26
+ ret = rknn.build(do_quantization=False)
27
+ if ret != 0:
28
+ exit(ret)
29
+
30
+ # 4. Export RKNN
31
+ ret = rknn.export_rknn('yolov5su.rknn')
32
+ if ret != 0:
33
+ exit(ret)
34
+
35
+ rknn.release()
yolov5-rknn/yolov5su-opset14.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3323c5449a354a65237c660dce5b2cb537f6a4ba19d49d547bae382f94c08883
3
+ size 36822517
yolov5-rknn/yolov5su.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b619943d67b8e535d8ff386d6e46aab269025ecbaa8043bc6ba1ba7c180b8ef4
3
+ size 36906988
yolov5-rknn/yolov5su.rknn ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ecf5b9fb2a9b8fc9e960908cf1a1cda11b183565debe839c1c025ddb1cd3a12c
3
+ size 20797238
yolov5su.mlpackage/Data/com.apple.CoreML/model.mlmodel ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:249ce9be74dc30c923792b31310e6c049beabb16ef9291b3f7989c842797684d
3
+ size 132192
yolov5su.mlpackage/Data/com.apple.CoreML/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d2b01770375b8b5dfb5180cef045e1d2efea8452b71ccf6ae4f93aee4a3790d0
3
+ size 18345376
yolov5su.mlpackage/Manifest.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fileFormatVersion": "1.0.0",
3
+ "itemInfoEntries": {
4
+ "1f208c7c-36d9-4ab2-b106-d750f4a743eb": {
5
+ "author": "com.apple.CoreML",
6
+ "description": "CoreML Model Weights",
7
+ "name": "weights",
8
+ "path": "com.apple.CoreML/weights"
9
+ },
10
+ "531f3a11-f094-499c-9378-34c19d85935f": {
11
+ "author": "com.apple.CoreML",
12
+ "description": "CoreML Model Specification",
13
+ "name": "model.mlmodel",
14
+ "path": "com.apple.CoreML/model.mlmodel"
15
+ }
16
+ },
17
+ "rootModelIdentifier": "531f3a11-f094-499c-9378-34c19d85935f"
18
+ }
yolov5su.mnn ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f3b744ab0f47542841bc9bd8958a5098317c572201ab426c747bf4fbe766632e
3
+ size 36711788
yolov5su.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b619943d67b8e535d8ff386d6e46aab269025ecbaa8043bc6ba1ba7c180b8ef4
3
+ size 36906988
yolov5su.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:054272ddbbb3035cea7ff6b97e5becea63d2cc57a4f06a2a8133f4d1a56e74ed
3
+ size 18581255
yolov5su.torchscript ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a4a653f2331ad53c9a1c47e704a2fb56f560ec2b34318f1878e299dadd4065b1
3
+ size 37035802
yolov5su_ncnn_model/metadata.yaml ADDED
@@ -0,0 +1,98 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ description: Ultralytics YOLOv5s model trained on coco.yaml
2
+ author: Ultralytics
3
+ date: '2026-03-13T12:55:51.616112'
4
+ version: 8.4.8
5
+ license: AGPL-3.0 License (https://ultralytics.com/license)
6
+ docs: https://docs.ultralytics.com
7
+ stride: 32
8
+ task: detect
9
+ batch: 1
10
+ imgsz:
11
+ - 640
12
+ - 640
13
+ names:
14
+ 0: person
15
+ 1: bicycle
16
+ 2: car
17
+ 3: motorcycle
18
+ 4: airplane
19
+ 5: bus
20
+ 6: train
21
+ 7: truck
22
+ 8: boat
23
+ 9: traffic light
24
+ 10: fire hydrant
25
+ 11: stop sign
26
+ 12: parking meter
27
+ 13: bench
28
+ 14: bird
29
+ 15: cat
30
+ 16: dog
31
+ 17: horse
32
+ 18: sheep
33
+ 19: cow
34
+ 20: elephant
35
+ 21: bear
36
+ 22: zebra
37
+ 23: giraffe
38
+ 24: backpack
39
+ 25: umbrella
40
+ 26: handbag
41
+ 27: tie
42
+ 28: suitcase
43
+ 29: frisbee
44
+ 30: skis
45
+ 31: snowboard
46
+ 32: sports ball
47
+ 33: kite
48
+ 34: baseball bat
49
+ 35: baseball glove
50
+ 36: skateboard
51
+ 37: surfboard
52
+ 38: tennis racket
53
+ 39: bottle
54
+ 40: wine glass
55
+ 41: cup
56
+ 42: fork
57
+ 43: knife
58
+ 44: spoon
59
+ 45: bowl
60
+ 46: banana
61
+ 47: apple
62
+ 48: sandwich
63
+ 49: orange
64
+ 50: broccoli
65
+ 51: carrot
66
+ 52: hot dog
67
+ 53: pizza
68
+ 54: donut
69
+ 55: cake
70
+ 56: chair
71
+ 57: couch
72
+ 58: potted plant
73
+ 59: bed
74
+ 60: dining table
75
+ 61: toilet
76
+ 62: tv
77
+ 63: laptop
78
+ 64: mouse
79
+ 65: remote
80
+ 66: keyboard
81
+ 67: cell phone
82
+ 68: microwave
83
+ 69: oven
84
+ 70: toaster
85
+ 71: sink
86
+ 72: refrigerator
87
+ 73: book
88
+ 74: clock
89
+ 75: vase
90
+ 76: scissors
91
+ 77: teddy bear
92
+ 78: hair drier
93
+ 79: toothbrush
94
+ args:
95
+ batch: 1
96
+ half: false
97
+ channels: 3
98
+ end2end: false
yolov5su_ncnn_model/model.ncnn.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d5139ece1970a2a89926969ccd82323213dce14a30bedb459af1e96181296e9
3
+ size 36671088
yolov5su_ncnn_model/model.ncnn.param ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b53777acbb248d3d97598398f560381475bdf75cc8245460567dadc6dab35257
3
+ size 18455
yolov5su_ncnn_model/model_ncnn.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ import ncnn
3
+ import torch
4
+
5
+ def test_inference():
6
+ torch.manual_seed(0)
7
+ in0 = torch.rand(1, 3, 640, 640, dtype=torch.float)
8
+ out = []
9
+
10
+ with ncnn.Net() as net:
11
+ net.load_param("yolov5su_ncnn_model/model.ncnn.param")
12
+ net.load_model("yolov5su_ncnn_model/model.ncnn.bin")
13
+
14
+ with net.create_extractor() as ex:
15
+ ex.input("in0", ncnn.Mat(in0.squeeze(0).numpy()).clone())
16
+
17
+ _, out0 = ex.extract("out0")
18
+ out.append(torch.from_numpy(np.array(out0)).unsqueeze(0))
19
+
20
+ if len(out) == 1:
21
+ return out[0]
22
+ else:
23
+ return tuple(out)
24
+
25
+ if __name__ == "__main__":
26
+ print(test_inference())
yolov5su_openvino_model/metadata.yaml ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ description: Ultralytics YOLOv5s model trained on coco.yaml
2
+ author: Ultralytics
3
+ date: '2026-03-13T12:46:35.094055'
4
+ version: 8.4.8
5
+ license: AGPL-3.0 License (https://ultralytics.com/license)
6
+ docs: https://docs.ultralytics.com
7
+ stride: 32
8
+ task: detect
9
+ batch: 1
10
+ imgsz:
11
+ - 640
12
+ - 640
13
+ names:
14
+ 0: person
15
+ 1: bicycle
16
+ 2: car
17
+ 3: motorcycle
18
+ 4: airplane
19
+ 5: bus
20
+ 6: train
21
+ 7: truck
22
+ 8: boat
23
+ 9: traffic light
24
+ 10: fire hydrant
25
+ 11: stop sign
26
+ 12: parking meter
27
+ 13: bench
28
+ 14: bird
29
+ 15: cat
30
+ 16: dog
31
+ 17: horse
32
+ 18: sheep
33
+ 19: cow
34
+ 20: elephant
35
+ 21: bear
36
+ 22: zebra
37
+ 23: giraffe
38
+ 24: backpack
39
+ 25: umbrella
40
+ 26: handbag
41
+ 27: tie
42
+ 28: suitcase
43
+ 29: frisbee
44
+ 30: skis
45
+ 31: snowboard
46
+ 32: sports ball
47
+ 33: kite
48
+ 34: baseball bat
49
+ 35: baseball glove
50
+ 36: skateboard
51
+ 37: surfboard
52
+ 38: tennis racket
53
+ 39: bottle
54
+ 40: wine glass
55
+ 41: cup
56
+ 42: fork
57
+ 43: knife
58
+ 44: spoon
59
+ 45: bowl
60
+ 46: banana
61
+ 47: apple
62
+ 48: sandwich
63
+ 49: orange
64
+ 50: broccoli
65
+ 51: carrot
66
+ 52: hot dog
67
+ 53: pizza
68
+ 54: donut
69
+ 55: cake
70
+ 56: chair
71
+ 57: couch
72
+ 58: potted plant
73
+ 59: bed
74
+ 60: dining table
75
+ 61: toilet
76
+ 62: tv
77
+ 63: laptop
78
+ 64: mouse
79
+ 65: remote
80
+ 66: keyboard
81
+ 67: cell phone
82
+ 68: microwave
83
+ 69: oven
84
+ 70: toaster
85
+ 71: sink
86
+ 72: refrigerator
87
+ 73: book
88
+ 74: clock
89
+ 75: vase
90
+ 76: scissors
91
+ 77: teddy bear
92
+ 78: hair drier
93
+ 79: toothbrush
94
+ args:
95
+ batch: 1
96
+ fraction: 1.0
97
+ half: false
98
+ int8: false
99
+ dynamic: false
100
+ nms: false
101
+ channels: 3
102
+ end2end: false
yolov5su_openvino_model/yolov5su.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9726fc0180ce9840598edb7a6f25d5b7774a4db8d27b5f4d3fb2d241c3073ca5
3
+ size 36670944
yolov5su_openvino_model/yolov5su.xml ADDED
The diff for this file is too large to render. See raw diff
 
yolov5su_paddle_model/inference_model/model.json ADDED
The diff for this file is too large to render. See raw diff
 
yolov5su_paddle_model/inference_model/model.pdiparams ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:29692450e1a8aa9b012127187e69c8ca8e0e3739f09eafa3de5c933a7b2eaad7
3
+ size 36675067
yolov5su_paddle_model/metadata.yaml ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ description: Ultralytics YOLOv5s model trained on coco.yaml
2
+ author: Ultralytics
3
+ date: '2026-03-13T12:53:28.548281'
4
+ version: 8.4.8
5
+ license: AGPL-3.0 License (https://ultralytics.com/license)
6
+ docs: https://docs.ultralytics.com
7
+ stride: 32
8
+ task: detect
9
+ batch: 1
10
+ imgsz:
11
+ - 640
12
+ - 640
13
+ names:
14
+ 0: person
15
+ 1: bicycle
16
+ 2: car
17
+ 3: motorcycle
18
+ 4: airplane
19
+ 5: bus
20
+ 6: train
21
+ 7: truck
22
+ 8: boat
23
+ 9: traffic light
24
+ 10: fire hydrant
25
+ 11: stop sign
26
+ 12: parking meter
27
+ 13: bench
28
+ 14: bird
29
+ 15: cat
30
+ 16: dog
31
+ 17: horse
32
+ 18: sheep
33
+ 19: cow
34
+ 20: elephant
35
+ 21: bear
36
+ 22: zebra
37
+ 23: giraffe
38
+ 24: backpack
39
+ 25: umbrella
40
+ 26: handbag
41
+ 27: tie
42
+ 28: suitcase
43
+ 29: frisbee
44
+ 30: skis
45
+ 31: snowboard
46
+ 32: sports ball
47
+ 33: kite
48
+ 34: baseball bat
49
+ 35: baseball glove
50
+ 36: skateboard
51
+ 37: surfboard
52
+ 38: tennis racket
53
+ 39: bottle
54
+ 40: wine glass
55
+ 41: cup
56
+ 42: fork
57
+ 43: knife
58
+ 44: spoon
59
+ 45: bowl
60
+ 46: banana
61
+ 47: apple
62
+ 48: sandwich
63
+ 49: orange
64
+ 50: broccoli
65
+ 51: carrot
66
+ 52: hot dog
67
+ 53: pizza
68
+ 54: donut
69
+ 55: cake
70
+ 56: chair
71
+ 57: couch
72
+ 58: potted plant
73
+ 59: bed
74
+ 60: dining table
75
+ 61: toilet
76
+ 62: tv
77
+ 63: laptop
78
+ 64: mouse
79
+ 65: remote
80
+ 66: keyboard
81
+ 67: cell phone
82
+ 68: microwave
83
+ 69: oven
84
+ 70: toaster
85
+ 71: sink
86
+ 72: refrigerator
87
+ 73: book
88
+ 74: clock
89
+ 75: vase
90
+ 76: scissors
91
+ 77: teddy bear
92
+ 78: hair drier
93
+ 79: toothbrush
94
+ args:
95
+ batch: 1
96
+ channels: 3
97
+ end2end: false
yolov5su_paddle_model/model.pdparams ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:515746866e7b54d31426703cb9b1e4d23c239573e8936654d4b29c4cff8feeb5
3
+ size 36679647
yolov5su_paddle_model/x2paddle_code.py ADDED
@@ -0,0 +1,405 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import paddle
2
+ import math
3
+ from x2paddle.op_mapper.pytorch2paddle import pytorch_custom_layer as x2paddle_nn
4
+
5
+ class DetectionModel(paddle.nn.Layer):
6
+ def __init__(self):
7
+ super(DetectionModel, self).__init__()
8
+ self.conv2d0 = paddle.nn.Conv2D(stride=2, padding=2, out_channels=32, kernel_size=(6, 6), in_channels=3)
9
+ self.silu0 = paddle.nn.Silu()
10
+ self.conv2d1 = paddle.nn.Conv2D(stride=2, padding=1, out_channels=64, kernel_size=(3, 3), in_channels=32)
11
+ self.silu1 = paddle.nn.Silu()
12
+ self.conv2d2 = paddle.nn.Conv2D(out_channels=32, kernel_size=(1, 1), in_channels=64)
13
+ self.silu2 = paddle.nn.Silu()
14
+ self.conv2d3 = paddle.nn.Conv2D(out_channels=32, kernel_size=(1, 1), in_channels=32)
15
+ self.silu3 = paddle.nn.Silu()
16
+ self.conv2d4 = paddle.nn.Conv2D(padding=1, out_channels=32, kernel_size=(3, 3), in_channels=32)
17
+ self.silu4 = paddle.nn.Silu()
18
+ self.conv2d5 = paddle.nn.Conv2D(out_channels=32, kernel_size=(1, 1), in_channels=64)
19
+ self.silu5 = paddle.nn.Silu()
20
+ self.conv2d6 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=64)
21
+ self.silu6 = paddle.nn.Silu()
22
+ self.conv2d7 = paddle.nn.Conv2D(stride=2, padding=1, out_channels=128, kernel_size=(3, 3), in_channels=64)
23
+ self.silu7 = paddle.nn.Silu()
24
+ self.conv2d8 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=128)
25
+ self.silu8 = paddle.nn.Silu()
26
+ self.conv2d9 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=64)
27
+ self.silu9 = paddle.nn.Silu()
28
+ self.conv2d10 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=64)
29
+ self.silu10 = paddle.nn.Silu()
30
+ self.conv2d11 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=64)
31
+ self.silu11 = paddle.nn.Silu()
32
+ self.conv2d12 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=64)
33
+ self.silu12 = paddle.nn.Silu()
34
+ self.conv2d13 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=128)
35
+ self.silu13 = paddle.nn.Silu()
36
+ self.conv2d14 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=128)
37
+ self.silu14 = paddle.nn.Silu()
38
+ self.conv2d15 = paddle.nn.Conv2D(stride=2, padding=1, out_channels=256, kernel_size=(3, 3), in_channels=128)
39
+ self.silu15 = paddle.nn.Silu()
40
+ self.conv2d16 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=256)
41
+ self.silu16 = paddle.nn.Silu()
42
+ self.conv2d17 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=128)
43
+ self.silu17 = paddle.nn.Silu()
44
+ self.conv2d18 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
45
+ self.silu18 = paddle.nn.Silu()
46
+ self.conv2d19 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=128)
47
+ self.silu19 = paddle.nn.Silu()
48
+ self.conv2d20 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
49
+ self.silu20 = paddle.nn.Silu()
50
+ self.conv2d21 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=128)
51
+ self.silu21 = paddle.nn.Silu()
52
+ self.conv2d22 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
53
+ self.silu22 = paddle.nn.Silu()
54
+ self.conv2d23 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=256)
55
+ self.silu23 = paddle.nn.Silu()
56
+ self.conv2d24 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=256)
57
+ self.silu24 = paddle.nn.Silu()
58
+ self.conv2d25 = paddle.nn.Conv2D(stride=2, padding=1, out_channels=512, kernel_size=(3, 3), in_channels=256)
59
+ self.silu25 = paddle.nn.Silu()
60
+ self.conv2d26 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=512)
61
+ self.silu26 = paddle.nn.Silu()
62
+ self.conv2d27 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=256)
63
+ self.silu27 = paddle.nn.Silu()
64
+ self.conv2d28 = paddle.nn.Conv2D(padding=1, out_channels=256, kernel_size=(3, 3), in_channels=256)
65
+ self.silu28 = paddle.nn.Silu()
66
+ self.conv2d29 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=512)
67
+ self.silu29 = paddle.nn.Silu()
68
+ self.conv2d30 = paddle.nn.Conv2D(out_channels=512, kernel_size=(1, 1), in_channels=512)
69
+ self.silu30 = paddle.nn.Silu()
70
+ self.conv2d31 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=512)
71
+ self.silu31 = paddle.nn.Silu()
72
+ self.pool2d0 = paddle.nn.MaxPool2D(kernel_size=[5, 5], stride=1, padding=2)
73
+ self.pool2d1 = paddle.nn.MaxPool2D(kernel_size=[5, 5], stride=1, padding=2)
74
+ self.pool2d2 = paddle.nn.MaxPool2D(kernel_size=[5, 5], stride=1, padding=2)
75
+ self.conv2d32 = paddle.nn.Conv2D(out_channels=512, kernel_size=(1, 1), in_channels=1024)
76
+ self.silu32 = paddle.nn.Silu()
77
+ self.conv2d33 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=512)
78
+ self.silu33 = paddle.nn.Silu()
79
+ self.conv2d34 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=512)
80
+ self.silu34 = paddle.nn.Silu()
81
+ self.conv2d35 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=128)
82
+ self.silu35 = paddle.nn.Silu()
83
+ self.conv2d36 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
84
+ self.silu36 = paddle.nn.Silu()
85
+ self.conv2d37 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=512)
86
+ self.silu37 = paddle.nn.Silu()
87
+ self.conv2d38 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=256)
88
+ self.silu38 = paddle.nn.Silu()
89
+ self.conv2d39 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=256)
90
+ self.silu39 = paddle.nn.Silu()
91
+ self.conv2d40 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=256)
92
+ self.silu40 = paddle.nn.Silu()
93
+ self.conv2d41 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=64)
94
+ self.silu41 = paddle.nn.Silu()
95
+ self.conv2d42 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=64)
96
+ self.silu42 = paddle.nn.Silu()
97
+ self.conv2d43 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=256)
98
+ self.silu43 = paddle.nn.Silu()
99
+ self.conv2d44 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=128)
100
+ self.silu44 = paddle.nn.Silu()
101
+ self.conv2d45 = paddle.nn.Conv2D(stride=2, padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
102
+ self.silu45 = paddle.nn.Silu()
103
+ self.conv2d46 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=256)
104
+ self.silu46 = paddle.nn.Silu()
105
+ self.conv2d47 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=128)
106
+ self.silu47 = paddle.nn.Silu()
107
+ self.conv2d48 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
108
+ self.silu48 = paddle.nn.Silu()
109
+ self.conv2d49 = paddle.nn.Conv2D(out_channels=128, kernel_size=(1, 1), in_channels=256)
110
+ self.silu49 = paddle.nn.Silu()
111
+ self.conv2d50 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=256)
112
+ self.silu50 = paddle.nn.Silu()
113
+ self.conv2d51 = paddle.nn.Conv2D(stride=2, padding=1, out_channels=256, kernel_size=(3, 3), in_channels=256)
114
+ self.silu51 = paddle.nn.Silu()
115
+ self.conv2d52 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=512)
116
+ self.silu52 = paddle.nn.Silu()
117
+ self.conv2d53 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=256)
118
+ self.silu53 = paddle.nn.Silu()
119
+ self.conv2d54 = paddle.nn.Conv2D(padding=1, out_channels=256, kernel_size=(3, 3), in_channels=256)
120
+ self.silu54 = paddle.nn.Silu()
121
+ self.conv2d55 = paddle.nn.Conv2D(out_channels=256, kernel_size=(1, 1), in_channels=512)
122
+ self.silu55 = paddle.nn.Silu()
123
+ self.conv2d56 = paddle.nn.Conv2D(out_channels=512, kernel_size=(1, 1), in_channels=512)
124
+ self.silu56 = paddle.nn.Silu()
125
+ self.x731 = self.create_parameter(dtype='float32', shape=(1, 8400), default_initializer=paddle.nn.initializer.Constant(value=0.0))
126
+ self.conv2d57 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=128)
127
+ self.silu57 = paddle.nn.Silu()
128
+ self.conv2d58 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=64)
129
+ self.silu58 = paddle.nn.Silu()
130
+ self.conv2d59 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=64)
131
+ self.conv2d60 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=256)
132
+ self.silu59 = paddle.nn.Silu()
133
+ self.conv2d61 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=64)
134
+ self.silu60 = paddle.nn.Silu()
135
+ self.conv2d62 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=64)
136
+ self.conv2d63 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=512)
137
+ self.silu61 = paddle.nn.Silu()
138
+ self.conv2d64 = paddle.nn.Conv2D(padding=1, out_channels=64, kernel_size=(3, 3), in_channels=64)
139
+ self.silu62 = paddle.nn.Silu()
140
+ self.conv2d65 = paddle.nn.Conv2D(out_channels=64, kernel_size=(1, 1), in_channels=64)
141
+ self.conv2d66 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
142
+ self.silu63 = paddle.nn.Silu()
143
+ self.conv2d67 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
144
+ self.silu64 = paddle.nn.Silu()
145
+ self.conv2d68 = paddle.nn.Conv2D(out_channels=80, kernel_size=(1, 1), in_channels=128)
146
+ self.conv2d69 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=256)
147
+ self.silu65 = paddle.nn.Silu()
148
+ self.conv2d70 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
149
+ self.silu66 = paddle.nn.Silu()
150
+ self.conv2d71 = paddle.nn.Conv2D(out_channels=80, kernel_size=(1, 1), in_channels=128)
151
+ self.conv2d72 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=512)
152
+ self.silu67 = paddle.nn.Silu()
153
+ self.conv2d73 = paddle.nn.Conv2D(padding=1, out_channels=128, kernel_size=(3, 3), in_channels=128)
154
+ self.silu68 = paddle.nn.Silu()
155
+ self.conv2d74 = paddle.nn.Conv2D(out_channels=80, kernel_size=(1, 1), in_channels=128)
156
+ self.softmax0 = paddle.nn.Softmax(axis=1)
157
+ self.conv2d75 = paddle.nn.Conv2D(out_channels=1, kernel_size=(1, 1), bias_attr=False, in_channels=16)
158
+ self.x949 = self.create_parameter(dtype='float32', shape=(1, 2, 8400), default_initializer=paddle.nn.initializer.Constant(value=0.0))
159
+ self.sigmoid0 = paddle.nn.Sigmoid()
160
+
161
+ def forward(self, x0):
162
+ x49 = self.conv2d0(x0)
163
+ x50 = self.silu0(x49)
164
+ x61 = self.conv2d1(x50)
165
+ x62 = self.silu1(x61)
166
+ x77 = self.conv2d2(x62)
167
+ x78 = self.silu2(x77)
168
+ x89 = self.conv2d3(x78)
169
+ x90 = self.silu3(x89)
170
+ x98 = self.conv2d4(x90)
171
+ x99 = self.silu4(x98)
172
+ x100 = x78 + x99
173
+ x108 = self.conv2d5(x62)
174
+ x109 = self.silu5(x108)
175
+ x110 = [x100, x109]
176
+ x111 = paddle.concat(x=x110, axis=1)
177
+ x119 = self.conv2d6(x111)
178
+ x120 = self.silu6(x119)
179
+ x131 = self.conv2d7(x120)
180
+ x132 = self.silu7(x131)
181
+ x147 = self.conv2d8(x132)
182
+ x148 = self.silu8(x147)
183
+ x160 = self.conv2d9(x148)
184
+ x161 = self.silu9(x160)
185
+ x169 = self.conv2d10(x161)
186
+ x170 = self.silu10(x169)
187
+ x171 = x148 + x170
188
+ x181 = self.conv2d11(x171)
189
+ x182 = self.silu11(x181)
190
+ x190 = self.conv2d12(x182)
191
+ x191 = self.silu12(x190)
192
+ x192 = x171 + x191
193
+ x200 = self.conv2d13(x132)
194
+ x201 = self.silu13(x200)
195
+ x202 = [x192, x201]
196
+ x203 = paddle.concat(x=x202, axis=1)
197
+ x211 = self.conv2d14(x203)
198
+ x212 = self.silu14(x211)
199
+ x223 = self.conv2d15(x212)
200
+ x224 = self.silu15(x223)
201
+ x239 = self.conv2d16(x224)
202
+ x240 = self.silu16(x239)
203
+ x253 = self.conv2d17(x240)
204
+ x254 = self.silu17(x253)
205
+ x262 = self.conv2d18(x254)
206
+ x263 = self.silu18(x262)
207
+ x264 = x240 + x263
208
+ x274 = self.conv2d19(x264)
209
+ x275 = self.silu19(x274)
210
+ x283 = self.conv2d20(x275)
211
+ x284 = self.silu20(x283)
212
+ x285 = x264 + x284
213
+ x295 = self.conv2d21(x285)
214
+ x296 = self.silu21(x295)
215
+ x304 = self.conv2d22(x296)
216
+ x305 = self.silu22(x304)
217
+ x306 = x285 + x305
218
+ x314 = self.conv2d23(x224)
219
+ x315 = self.silu23(x314)
220
+ x316 = [x306, x315]
221
+ x317 = paddle.concat(x=x316, axis=1)
222
+ x325 = self.conv2d24(x317)
223
+ x326 = self.silu24(x325)
224
+ x337 = self.conv2d25(x326)
225
+ x338 = self.silu25(x337)
226
+ x353 = self.conv2d26(x338)
227
+ x354 = self.silu26(x353)
228
+ x365 = self.conv2d27(x354)
229
+ x366 = self.silu27(x365)
230
+ x374 = self.conv2d28(x366)
231
+ x375 = self.silu28(x374)
232
+ x376 = x354 + x375
233
+ x384 = self.conv2d29(x338)
234
+ x385 = self.silu29(x384)
235
+ x386 = [x376, x385]
236
+ x387 = paddle.concat(x=x386, axis=1)
237
+ x395 = self.conv2d30(x387)
238
+ x396 = self.silu30(x395)
239
+ x409 = self.conv2d31(x396)
240
+ x410 = self.silu31(x409)
241
+ x415 = self.pool2d0(x410)
242
+ x420 = self.pool2d1(x415)
243
+ x425 = self.pool2d2(x420)
244
+ x426 = [x410, x415, x420, x425]
245
+ x427 = paddle.concat(x=x426, axis=1)
246
+ x435 = self.conv2d32(x427)
247
+ x436 = self.silu32(x435)
248
+ x447 = self.conv2d33(x436)
249
+ x448 = self.silu33(x447)
250
+ x450 = [2.0, 2.0]
251
+ x451 = paddle.nn.functional.interpolate(x=x448, scale_factor=x450, mode='nearest')
252
+ x453 = [x451, x326]
253
+ x454 = paddle.concat(x=x453, axis=1)
254
+ x469 = self.conv2d34(x454)
255
+ x470 = self.silu34(x469)
256
+ x481 = self.conv2d35(x470)
257
+ x482 = self.silu35(x481)
258
+ x490 = self.conv2d36(x482)
259
+ x491 = self.silu36(x490)
260
+ x499 = self.conv2d37(x454)
261
+ x500 = self.silu37(x499)
262
+ x501 = [x491, x500]
263
+ x502 = paddle.concat(x=x501, axis=1)
264
+ x510 = self.conv2d38(x502)
265
+ x511 = self.silu38(x510)
266
+ x522 = self.conv2d39(x511)
267
+ x523 = self.silu39(x522)
268
+ x525 = [2.0, 2.0]
269
+ x526 = paddle.nn.functional.interpolate(x=x523, scale_factor=x525, mode='nearest')
270
+ x528 = [x526, x212]
271
+ x529 = paddle.concat(x=x528, axis=1)
272
+ x544 = self.conv2d40(x529)
273
+ x545 = self.silu40(x544)
274
+ x556 = self.conv2d41(x545)
275
+ x557 = self.silu41(x556)
276
+ x565 = self.conv2d42(x557)
277
+ x566 = self.silu42(x565)
278
+ x574 = self.conv2d43(x529)
279
+ x575 = self.silu43(x574)
280
+ x576 = [x566, x575]
281
+ x577 = paddle.concat(x=x576, axis=1)
282
+ x585 = self.conv2d44(x577)
283
+ x586 = self.silu44(x585)
284
+ x597 = self.conv2d45(x586)
285
+ x598 = self.silu45(x597)
286
+ x600 = [x598, x523]
287
+ x601 = paddle.concat(x=x600, axis=1)
288
+ x616 = self.conv2d46(x601)
289
+ x617 = self.silu46(x616)
290
+ x628 = self.conv2d47(x617)
291
+ x629 = self.silu47(x628)
292
+ x637 = self.conv2d48(x629)
293
+ x638 = self.silu48(x637)
294
+ x646 = self.conv2d49(x601)
295
+ x647 = self.silu49(x646)
296
+ x648 = [x638, x647]
297
+ x649 = paddle.concat(x=x648, axis=1)
298
+ x657 = self.conv2d50(x649)
299
+ x658 = self.silu50(x657)
300
+ x669 = self.conv2d51(x658)
301
+ x670 = self.silu51(x669)
302
+ x672 = [x670, x448]
303
+ x673 = paddle.concat(x=x672, axis=1)
304
+ x688 = self.conv2d52(x673)
305
+ x689 = self.silu52(x688)
306
+ x700 = self.conv2d53(x689)
307
+ x701 = self.silu53(x700)
308
+ x709 = self.conv2d54(x701)
309
+ x710 = self.silu54(x709)
310
+ x718 = self.conv2d55(x673)
311
+ x719 = self.silu55(x718)
312
+ x720 = [x710, x719]
313
+ x721 = paddle.concat(x=x720, axis=1)
314
+ x729 = self.conv2d56(x721)
315
+ x730 = self.silu56(x729)
316
+ x731 = self.x731
317
+ x732 = 2
318
+ x733 = 2
319
+ x736 = 1
320
+ x762 = self.conv2d57(x586)
321
+ x763 = self.silu57(x762)
322
+ x771 = self.conv2d58(x763)
323
+ x772 = self.silu58(x771)
324
+ x779 = self.conv2d59(x772)
325
+ x781 = paddle.reshape(x=x779, shape=[1, 64, -1])
326
+ x792 = self.conv2d60(x658)
327
+ x793 = self.silu59(x792)
328
+ x801 = self.conv2d61(x793)
329
+ x802 = self.silu60(x801)
330
+ x809 = self.conv2d62(x802)
331
+ x811 = paddle.reshape(x=x809, shape=[1, 64, -1])
332
+ x822 = self.conv2d63(x730)
333
+ x823 = self.silu61(x822)
334
+ x831 = self.conv2d64(x823)
335
+ x832 = self.silu62(x831)
336
+ x839 = self.conv2d65(x832)
337
+ x841 = paddle.reshape(x=x839, shape=[1, 64, -1])
338
+ x842 = [x781, x811, x841]
339
+ x843 = paddle.concat(x=x842, axis=-1)
340
+ x854 = self.conv2d66(x586)
341
+ x855 = self.silu63(x854)
342
+ x863 = self.conv2d67(x855)
343
+ x864 = self.silu64(x863)
344
+ x871 = self.conv2d68(x864)
345
+ x873 = paddle.reshape(x=x871, shape=[1, 80, -1])
346
+ x884 = self.conv2d69(x658)
347
+ x885 = self.silu65(x884)
348
+ x893 = self.conv2d70(x885)
349
+ x894 = self.silu66(x893)
350
+ x901 = self.conv2d71(x894)
351
+ x903 = paddle.reshape(x=x901, shape=[1, 80, -1])
352
+ x914 = self.conv2d72(x730)
353
+ x915 = self.silu67(x914)
354
+ x923 = self.conv2d73(x915)
355
+ x924 = self.silu68(x923)
356
+ x931 = self.conv2d74(x924)
357
+ x933 = paddle.reshape(x=x931, shape=[1, 80, -1])
358
+ x934 = [x873, x903, x933]
359
+ x935 = paddle.concat(x=x934, axis=-1)
360
+ x938 = paddle.reshape(x=x843, shape=[1, 4, 16, 8400])
361
+ x939_shape = x938.shape
362
+ x939_len = len(x939_shape)
363
+ x939_list = []
364
+ for i in range(x939_len):
365
+ x939_list.append(i)
366
+ if x733 < 0:
367
+ x733_new = x733 + x939_len
368
+ else:
369
+ x733_new = x733
370
+ if x736 < 0:
371
+ x736_new = x736 + x939_len
372
+ else:
373
+ x736_new = x736
374
+ x939_list[x733_new] = x736_new
375
+ x939_list[x736_new] = x733_new
376
+ x939 = paddle.transpose(x=x938, perm=x939_list)
377
+ x940 = self.softmax0(x939)
378
+ x946 = self.conv2d75(x940)
379
+ x948 = paddle.reshape(x=x946, shape=[1, 4, 8400])
380
+ x949 = self.x949
381
+ x950 = paddle.split(x=x948, num_or_sections=2, axis=1)
382
+ x951, x952 = x950
383
+ x953 = x949 - x951
384
+ x954 = x949 + x952
385
+ x955 = x953 + x954
386
+ x956 = x955 / x732
387
+ x957 = x954 - x953
388
+ x958 = [x956, x957]
389
+ x959 = paddle.concat(x=x958, axis=1)
390
+ x960 = x959 * x731
391
+ x961 = self.sigmoid0(x935)
392
+ x962 = [x960, x961]
393
+ x963 = paddle.concat(x=x962, axis=1)
394
+ return x963
395
+
396
+ def main(x0):
397
+ # There are 1 inputs.
398
+ # x0: shape-[1, 3, 640, 640], type-float32.
399
+ paddle.disable_static()
400
+ params = paddle.load(r'/work/models/yolo/yolov5su_paddle_model/model.pdparams')
401
+ model = DetectionModel()
402
+ model.set_dict(params, use_structured_name=True)
403
+ model.eval()
404
+ out = model(x0)
405
+ return out
yolov5su_saved_model/fingerprint.pb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:26128e4181784b192e82b912e947dbdb5162398a48c00b4201f2a2a274b2ce0f
3
+ size 76
yolov5su_saved_model/metadata.yaml ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ description: Ultralytics YOLOv5s model trained on coco.yaml
2
+ author: Ultralytics
3
+ date: '2026-03-13T12:52:08.604912'
4
+ version: 8.4.8
5
+ license: AGPL-3.0 License (https://ultralytics.com/license)
6
+ docs: https://docs.ultralytics.com
7
+ stride: 32
8
+ task: detect
9
+ batch: 1
10
+ imgsz:
11
+ - 640
12
+ - 640
13
+ names:
14
+ 0: person
15
+ 1: bicycle
16
+ 2: car
17
+ 3: motorcycle
18
+ 4: airplane
19
+ 5: bus
20
+ 6: train
21
+ 7: truck
22
+ 8: boat
23
+ 9: traffic light
24
+ 10: fire hydrant
25
+ 11: stop sign
26
+ 12: parking meter
27
+ 13: bench
28
+ 14: bird
29
+ 15: cat
30
+ 16: dog
31
+ 17: horse
32
+ 18: sheep
33
+ 19: cow
34
+ 20: elephant
35
+ 21: bear
36
+ 22: zebra
37
+ 23: giraffe
38
+ 24: backpack
39
+ 25: umbrella
40
+ 26: handbag
41
+ 27: tie
42
+ 28: suitcase
43
+ 29: frisbee
44
+ 30: skis
45
+ 31: snowboard
46
+ 32: sports ball
47
+ 33: kite
48
+ 34: baseball bat
49
+ 35: baseball glove
50
+ 36: skateboard
51
+ 37: surfboard
52
+ 38: tennis racket
53
+ 39: bottle
54
+ 40: wine glass
55
+ 41: cup
56
+ 42: fork
57
+ 43: knife
58
+ 44: spoon
59
+ 45: bowl
60
+ 46: banana
61
+ 47: apple
62
+ 48: sandwich
63
+ 49: orange
64
+ 50: broccoli
65
+ 51: carrot
66
+ 52: hot dog
67
+ 53: pizza
68
+ 54: donut
69
+ 55: cake
70
+ 56: chair
71
+ 57: couch
72
+ 58: potted plant
73
+ 59: bed
74
+ 60: dining table
75
+ 61: toilet
76
+ 62: tv
77
+ 63: laptop
78
+ 64: mouse
79
+ 65: remote
80
+ 66: keyboard
81
+ 67: cell phone
82
+ 68: microwave
83
+ 69: oven
84
+ 70: toaster
85
+ 71: sink
86
+ 72: refrigerator
87
+ 73: book
88
+ 74: clock
89
+ 75: vase
90
+ 76: scissors
91
+ 77: teddy bear
92
+ 78: hair drier
93
+ 79: toothbrush
94
+ args:
95
+ batch: 1
96
+ fraction: 1.0
97
+ half: false
98
+ int8: false
99
+ nms: false
100
+ channels: 3
101
+ end2end: false
yolov5su_saved_model/saved_model.pb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:729eaa2d4eeda365d5e02569f4bd5a70abf9b23cc498a08d993300a36ea2b131
3
+ size 36998135
yolov5su_saved_model/variables/variables.data-00000-of-00001 ADDED
Binary file (6.42 kB). View file
 
yolov5su_saved_model/variables/variables.index ADDED
Binary file (145 Bytes). View file
 
yolov5su_saved_model/yolov5su_float16.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c5ed66e27fc50a5ee2924b8386d0ef7c3e139a863401903b9b6719157d3f9d6c
3
+ size 18464625
yolov5su_saved_model/yolov5su_float32.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0a93e77ed4f0e080267ed68534cda94206389f51eda2debdcfe88bc96498d552
3
+ size 36832425