lkk688 commited on
Commit
7eb373a
·
verified ·
1 Parent(s): 91f2403

Upload folder using huggingface_hub

Browse files
Files changed (6) hide show
  1. README.md +21 -0
  2. config.json +175 -0
  3. inference.py +31 -0
  4. model.onnx +3 -0
  5. model.safetensors +3 -0
  6. processor.bin +3 -0
README.md ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - object-detection
4
+ - vision
5
+ - fasterrcnn
6
+ - onnx
7
+ license: apache-2.0
8
+ ---
9
+
10
+ # Custom Faster R-CNN Model
11
+
12
+ ## Usage
13
+
14
+ ### PyTorch
15
+ ```python
16
+ from inference import FasterRCNNInference
17
+ from PIL import Image
18
+
19
+ model = FasterRCNNInference(".")
20
+ image = Image.open("your_image.jpg")
21
+ results = model.predict([image])
config.json ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "FasterRCNNModel"
4
+ ],
5
+ "id2label": {
6
+ "0": "class_0",
7
+ "1": "class_1",
8
+ "2": "class_2",
9
+ "3": "class_3",
10
+ "4": "class_4",
11
+ "5": "class_5",
12
+ "6": "class_6",
13
+ "7": "class_7",
14
+ "8": "class_8",
15
+ "9": "class_9",
16
+ "10": "class_10",
17
+ "11": "class_11",
18
+ "12": "class_12",
19
+ "13": "class_13",
20
+ "14": "class_14",
21
+ "15": "class_15",
22
+ "16": "class_16",
23
+ "17": "class_17",
24
+ "18": "class_18",
25
+ "19": "class_19",
26
+ "20": "class_20",
27
+ "21": "class_21",
28
+ "22": "class_22",
29
+ "23": "class_23",
30
+ "24": "class_24",
31
+ "25": "class_25",
32
+ "26": "class_26",
33
+ "27": "class_27",
34
+ "28": "class_28",
35
+ "29": "class_29",
36
+ "30": "class_30",
37
+ "31": "class_31",
38
+ "32": "class_32",
39
+ "33": "class_33",
40
+ "34": "class_34",
41
+ "35": "class_35",
42
+ "36": "class_36",
43
+ "37": "class_37",
44
+ "38": "class_38",
45
+ "39": "class_39",
46
+ "40": "class_40",
47
+ "41": "class_41",
48
+ "42": "class_42",
49
+ "43": "class_43",
50
+ "44": "class_44",
51
+ "45": "class_45",
52
+ "46": "class_46",
53
+ "47": "class_47",
54
+ "48": "class_48",
55
+ "49": "class_49",
56
+ "50": "class_50",
57
+ "51": "class_51",
58
+ "52": "class_52",
59
+ "53": "class_53",
60
+ "54": "class_54",
61
+ "55": "class_55",
62
+ "56": "class_56",
63
+ "57": "class_57",
64
+ "58": "class_58",
65
+ "59": "class_59",
66
+ "60": "class_60",
67
+ "61": "class_61",
68
+ "62": "class_62",
69
+ "63": "class_63",
70
+ "64": "class_64",
71
+ "65": "class_65",
72
+ "66": "class_66",
73
+ "67": "class_67",
74
+ "68": "class_68",
75
+ "69": "class_69",
76
+ "70": "class_70",
77
+ "71": "class_71",
78
+ "72": "class_72",
79
+ "73": "class_73",
80
+ "74": "class_74",
81
+ "75": "class_75",
82
+ "76": "class_76",
83
+ "77": "class_77",
84
+ "78": "class_78",
85
+ "79": "class_79"
86
+ },
87
+ "label2id": {
88
+ "class_0": 0,
89
+ "class_1": 1,
90
+ "class_10": 10,
91
+ "class_11": 11,
92
+ "class_12": 12,
93
+ "class_13": 13,
94
+ "class_14": 14,
95
+ "class_15": 15,
96
+ "class_16": 16,
97
+ "class_17": 17,
98
+ "class_18": 18,
99
+ "class_19": 19,
100
+ "class_2": 2,
101
+ "class_20": 20,
102
+ "class_21": 21,
103
+ "class_22": 22,
104
+ "class_23": 23,
105
+ "class_24": 24,
106
+ "class_25": 25,
107
+ "class_26": 26,
108
+ "class_27": 27,
109
+ "class_28": 28,
110
+ "class_29": 29,
111
+ "class_3": 3,
112
+ "class_30": 30,
113
+ "class_31": 31,
114
+ "class_32": 32,
115
+ "class_33": 33,
116
+ "class_34": 34,
117
+ "class_35": 35,
118
+ "class_36": 36,
119
+ "class_37": 37,
120
+ "class_38": 38,
121
+ "class_39": 39,
122
+ "class_4": 4,
123
+ "class_40": 40,
124
+ "class_41": 41,
125
+ "class_42": 42,
126
+ "class_43": 43,
127
+ "class_44": 44,
128
+ "class_45": 45,
129
+ "class_46": 46,
130
+ "class_47": 47,
131
+ "class_48": 48,
132
+ "class_49": 49,
133
+ "class_5": 5,
134
+ "class_50": 50,
135
+ "class_51": 51,
136
+ "class_52": 52,
137
+ "class_53": 53,
138
+ "class_54": 54,
139
+ "class_55": 55,
140
+ "class_56": 56,
141
+ "class_57": 57,
142
+ "class_58": 58,
143
+ "class_59": 59,
144
+ "class_6": 6,
145
+ "class_60": 60,
146
+ "class_61": 61,
147
+ "class_62": 62,
148
+ "class_63": 63,
149
+ "class_64": 64,
150
+ "class_65": 65,
151
+ "class_66": 66,
152
+ "class_67": 67,
153
+ "class_68": 68,
154
+ "class_69": 69,
155
+ "class_7": 7,
156
+ "class_70": 70,
157
+ "class_71": 71,
158
+ "class_72": 72,
159
+ "class_73": 73,
160
+ "class_74": 74,
161
+ "class_75": 75,
162
+ "class_76": 76,
163
+ "class_77": 77,
164
+ "class_78": 78,
165
+ "class_79": 79,
166
+ "class_8": 8,
167
+ "class_9": 9
168
+ },
169
+ "max_size": 1333,
170
+ "min_size": 800,
171
+ "model_type": "fasterrcnn",
172
+ "num_classes": 80,
173
+ "torch_dtype": "float32",
174
+ "transformers_version": "4.50.3"
175
+ }
inference.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from PIL import Image
2
+ import torch
3
+ import numpy as np
4
+ from transformers import PreTrainedModel
5
+ import onnxruntime
6
+
7
+ class FasterRCNNInference:
8
+ def __init__(self, model_path):
9
+ # Load ONNX model
10
+ self.ort_session = onnxruntime.InferenceSession(f"{model_path}/model.onnx")
11
+ self.processor = torch.load(f"{model_path}/processor.bin")
12
+
13
+ def predict(self, images, threshold=0.5):
14
+ # Preprocess
15
+ inputs = self.processor(images)
16
+ pixel_values = inputs["pixel_values"].numpy()
17
+
18
+ # Run inference
19
+ outputs = self.ort_session.run(None, {"pixel_values": pixel_values})
20
+
21
+ # Post-process
22
+ results = []
23
+ for boxes, scores, labels in zip(outputs[0], outputs[1], outputs[2]):
24
+ keep = scores > threshold
25
+ results.append({
26
+ "boxes": boxes[keep],
27
+ "scores": scores[keep],
28
+ "labels": labels[keep]
29
+ })
30
+
31
+ return results
model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:456470547ad0365bb4229e2d1c81ff99015984487753ca26e694f7ba8847e37d
3
+ size 331069979
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38a17a2591648db50e1b701341cf3ef261db1cec76e5131975a82f6600769455
3
+ size 331180436
processor.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:12d515f5bb270fcc25e29c7183b234618476e70b6d18f8a460ce6f70817d86f7
3
+ size 5224