Spaces:
Sleeping
Sleeping
javad-rezaie
commited on
Commit
β’
71c7733
1
Parent(s):
a31a7c4
Updated to run on cpu.
Browse files- README.md +5 -5
- app.py +61 -0
- car_classes.txt +196 -0
- end2end.bin +3 -0
- end2end.xml +0 -0
- requirements.txt +3 -0
README.md
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
---
|
2 |
title: Stanford Cars
|
3 |
-
emoji:
|
4 |
-
colorFrom:
|
5 |
-
colorTo:
|
6 |
sdk: gradio
|
7 |
-
sdk_version:
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
-
license:
|
11 |
---
|
12 |
|
13 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
1 |
---
|
2 |
title: Stanford Cars
|
3 |
+
emoji: π
|
4 |
+
colorFrom: red
|
5 |
+
colorTo: yellow
|
6 |
sdk: gradio
|
7 |
+
sdk_version: 3.41.0
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
+
license: mit
|
11 |
---
|
12 |
|
13 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
app.py
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
|
3 |
+
from pathlib import Path
|
4 |
+
import openvino as ov
|
5 |
+
import mmcv
|
6 |
+
import numpy as np
|
7 |
+
|
8 |
+
with open("/model_config/car_classes.txt", "r") as f:
|
9 |
+
car_classes = f.readlines()
|
10 |
+
CAR_CLASSES = [c.replace(",\n", "").replace("'","") for c in car_classes]
|
11 |
+
|
12 |
+
def pred_class(image_path):
|
13 |
+
|
14 |
+
base_artifacts_dir = Path("./")
|
15 |
+
|
16 |
+
model_name = "end2end"
|
17 |
+
model_xml_name = f'{model_name}.xml'
|
18 |
+
model_bin_name = f'{model_name}.bin'
|
19 |
+
|
20 |
+
model_xml_path = base_artifacts_dir / model_xml_name
|
21 |
+
device="CPU"
|
22 |
+
|
23 |
+
core = ov.Core()
|
24 |
+
model = core.read_model(model=model_xml_path)
|
25 |
+
compiled_model = core.compile_model(model=model, device_name=device)
|
26 |
+
|
27 |
+
output_layer = compiled_model.output(0)
|
28 |
+
|
29 |
+
image = mmcv.imread(image_path)
|
30 |
+
|
31 |
+
# Resize to MobileNet image shape.
|
32 |
+
input_image = mmcv.imresize(image, (224, 224))
|
33 |
+
normalized_image = mmcv.imnormalize(input_image, mean=np.array([123.675, 116.28, 103.53]), std=np.array([58.395, 57.12, 57.375]))
|
34 |
+
|
35 |
+
# Reshape to model input shape.
|
36 |
+
input_image = np.expand_dims(np.transpose(normalized_image, (2,0,1)), 0)
|
37 |
+
result_infer = compiled_model([input_image])[output_layer]
|
38 |
+
result_index = np.argmax(result_infer)
|
39 |
+
|
40 |
+
return CAR_CLASSES[result_index]
|
41 |
+
|
42 |
+
inputs_image = [
|
43 |
+
gr.components.Image(type="filepath", label="Input Image"),
|
44 |
+
]
|
45 |
+
outputs_text = [
|
46 |
+
gr.components.Textbox(label="Output Text"),
|
47 |
+
]
|
48 |
+
interface_image = gr.Interface(
|
49 |
+
fn=pred_class,
|
50 |
+
inputs=inputs_image,
|
51 |
+
outputs=outputs_text,
|
52 |
+
title="Car Classification",
|
53 |
+
cache_examples=False,
|
54 |
+
)
|
55 |
+
def greet(name):
|
56 |
+
return "Hello " + name + "!!"
|
57 |
+
|
58 |
+
gr.TabbedInterface(
|
59 |
+
[interface_image],
|
60 |
+
tab_names=['Image inference']
|
61 |
+
).queue().launch()
|
car_classes.txt
ADDED
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
'AM General Hummer SUV 2000',
|
2 |
+
'Acura RL Sedan 2012',
|
3 |
+
'Acura TL Sedan 2012',
|
4 |
+
'Acura TL Type-S 2008',
|
5 |
+
'Acura TSX Sedan 2012',
|
6 |
+
'Acura Integra Type R 2001',
|
7 |
+
'Acura ZDX Hatchback 2012',
|
8 |
+
'Aston Martin V8 Vantage Convertible 2012',
|
9 |
+
'Aston Martin V8 Vantage Coupe 2012',
|
10 |
+
'Aston Martin Virage Convertible 2012',
|
11 |
+
'Aston Martin Virage Coupe 2012',
|
12 |
+
'Audi RS 4 Convertible 2008',
|
13 |
+
'Audi A5 Coupe 2012',
|
14 |
+
'Audi TTS Coupe 2012',
|
15 |
+
'Audi R8 Coupe 2012',
|
16 |
+
'Audi V8 Sedan 1994',
|
17 |
+
'Audi 100 Sedan 1994',
|
18 |
+
'Audi 100 Wagon 1994',
|
19 |
+
'Audi TT Hatchback 2011',
|
20 |
+
'Audi S6 Sedan 2011',
|
21 |
+
'Audi S5 Convertible 2012',
|
22 |
+
'Audi S5 Coupe 2012',
|
23 |
+
'Audi S4 Sedan 2012',
|
24 |
+
'Audi S4 Sedan 2007',
|
25 |
+
'Audi TT RS Coupe 2012',
|
26 |
+
'BMW ActiveHybrid 5 Sedan 2012',
|
27 |
+
'BMW 1 Series Convertible 2012',
|
28 |
+
'BMW 1 Series Coupe 2012',
|
29 |
+
'BMW 3 Series Sedan 2012',
|
30 |
+
'BMW 3 Series Wagon 2012',
|
31 |
+
'BMW 6 Series Convertible 2007',
|
32 |
+
'BMW X5 SUV 2007',
|
33 |
+
'BMW X6 SUV 2012',
|
34 |
+
'BMW M3 Coupe 2012',
|
35 |
+
'BMW M5 Sedan 2010',
|
36 |
+
'BMW M6 Convertible 2010',
|
37 |
+
'BMW X3 SUV 2012',
|
38 |
+
'BMW Z4 Convertible 2012',
|
39 |
+
'Bentley Continental Supersports Conv. Convertible 2012',
|
40 |
+
'Bentley Arnage Sedan 2009',
|
41 |
+
'Bentley Mulsanne Sedan 2011',
|
42 |
+
'Bentley Continental GT Coupe 2012',
|
43 |
+
'Bentley Continental GT Coupe 2007',
|
44 |
+
'Bentley Continental Flying Spur Sedan 2007',
|
45 |
+
'Bugatti Veyron 16.4 Convertible 2009',
|
46 |
+
'Bugatti Veyron 16.4 Coupe 2009',
|
47 |
+
'Buick Regal GS 2012',
|
48 |
+
'Buick Rainier SUV 2007',
|
49 |
+
'Buick Verano Sedan 2012',
|
50 |
+
'Buick Enclave SUV 2012',
|
51 |
+
'Cadillac CTS-V Sedan 2012',
|
52 |
+
'Cadillac SRX SUV 2012',
|
53 |
+
'Cadillac Escalade EXT Crew Cab 2007',
|
54 |
+
'Chevrolet Silverado 1500 Hybrid Crew Cab 2012',
|
55 |
+
'Chevrolet Corvette Convertible 2012',
|
56 |
+
'Chevrolet Corvette ZR1 2012',
|
57 |
+
'Chevrolet Corvette Ron Fellows Edition Z06 2007',
|
58 |
+
'Chevrolet Traverse SUV 2012',
|
59 |
+
'Chevrolet Camaro Convertible 2012',
|
60 |
+
'Chevrolet HHR SS 2010',
|
61 |
+
'Chevrolet Impala Sedan 2007',
|
62 |
+
'Chevrolet Tahoe Hybrid SUV 2012',
|
63 |
+
'Chevrolet Sonic Sedan 2012',
|
64 |
+
'Chevrolet Express Cargo Van 2007',
|
65 |
+
'Chevrolet Avalanche Crew Cab 2012',
|
66 |
+
'Chevrolet Cobalt SS 2010',
|
67 |
+
'Chevrolet Malibu Hybrid Sedan 2010',
|
68 |
+
'Chevrolet TrailBlazer SS 2009',
|
69 |
+
'Chevrolet Silverado 2500HD Regular Cab 2012',
|
70 |
+
'Chevrolet Silverado 1500 Classic Extended Cab 2007',
|
71 |
+
'Chevrolet Express Van 2007',
|
72 |
+
'Chevrolet Monte Carlo Coupe 2007',
|
73 |
+
'Chevrolet Malibu Sedan 2007',
|
74 |
+
'Chevrolet Silverado 1500 Extended Cab 2012',
|
75 |
+
'Chevrolet Silverado 1500 Regular Cab 2012',
|
76 |
+
'Chrysler Aspen SUV 2009',
|
77 |
+
'Chrysler Sebring Convertible 2010',
|
78 |
+
'Chrysler Town and Country Minivan 2012',
|
79 |
+
'Chrysler 300 SRT-8 2010',
|
80 |
+
'Chrysler Crossfire Convertible 2008',
|
81 |
+
'Chrysler PT Cruiser Convertible 2008',
|
82 |
+
'Daewoo Nubira Wagon 2002',
|
83 |
+
'Dodge Caliber Wagon 2012',
|
84 |
+
'Dodge Caliber Wagon 2007',
|
85 |
+
'Dodge Caravan Minivan 1997',
|
86 |
+
'Dodge Ram Pickup 3500 Crew Cab 2010',
|
87 |
+
'Dodge Ram Pickup 3500 Quad Cab 2009',
|
88 |
+
'Dodge Sprinter Cargo Van 2009',
|
89 |
+
'Dodge Journey SUV 2012',
|
90 |
+
'Dodge Dakota Crew Cab 2010',
|
91 |
+
'Dodge Dakota Club Cab 2007',
|
92 |
+
'Dodge Magnum Wagon 2008',
|
93 |
+
'Dodge Challenger SRT8 2011',
|
94 |
+
'Dodge Durango SUV 2012',
|
95 |
+
'Dodge Durango SUV 2007',
|
96 |
+
'Dodge Charger Sedan 2012',
|
97 |
+
'Dodge Charger SRT-8 2009',
|
98 |
+
'Eagle Talon Hatchback 1998',
|
99 |
+
'FIAT 500 Abarth 2012',
|
100 |
+
'FIAT 500 Convertible 2012',
|
101 |
+
'Ferrari FF Coupe 2012',
|
102 |
+
'Ferrari California Convertible 2012',
|
103 |
+
'Ferrari 458 Italia Convertible 2012',
|
104 |
+
'Ferrari 458 Italia Coupe 2012',
|
105 |
+
'Fisker Karma Sedan 2012',
|
106 |
+
'Ford F-450 Super Duty Crew Cab 2012',
|
107 |
+
'Ford Mustang Convertible 2007',
|
108 |
+
'Ford Freestar Minivan 2007',
|
109 |
+
'Ford Expedition EL SUV 2009',
|
110 |
+
'Ford Edge SUV 2012',
|
111 |
+
'Ford Ranger SuperCab 2011',
|
112 |
+
'Ford GT Coupe 2006',
|
113 |
+
'Ford F-150 Regular Cab 2012',
|
114 |
+
'Ford F-150 Regular Cab 2007',
|
115 |
+
'Ford Focus Sedan 2007',
|
116 |
+
'Ford E-Series Wagon Van 2012',
|
117 |
+
'Ford Fiesta Sedan 2012',
|
118 |
+
'GMC Terrain SUV 2012',
|
119 |
+
'GMC Savana Van 2012',
|
120 |
+
'GMC Yukon Hybrid SUV 2012',
|
121 |
+
'GMC Acadia SUV 2012',
|
122 |
+
'GMC Canyon Extended Cab 2012',
|
123 |
+
'Geo Metro Convertible 1993',
|
124 |
+
'HUMMER H3T Crew Cab 2010',
|
125 |
+
'HUMMER H2 SUT Crew Cab 2009',
|
126 |
+
'Honda Odyssey Minivan 2012',
|
127 |
+
'Honda Odyssey Minivan 2007',
|
128 |
+
'Honda Accord Coupe 2012',
|
129 |
+
'Honda Accord Sedan 2012',
|
130 |
+
'Hyundai Veloster Hatchback 2012',
|
131 |
+
'Hyundai Santa Fe SUV 2012',
|
132 |
+
'Hyundai Tucson SUV 2012',
|
133 |
+
'Hyundai Veracruz SUV 2012',
|
134 |
+
'Hyundai Sonata Hybrid Sedan 2012',
|
135 |
+
'Hyundai Elantra Sedan 2007',
|
136 |
+
'Hyundai Accent Sedan 2012',
|
137 |
+
'Hyundai Genesis Sedan 2012',
|
138 |
+
'Hyundai Sonata Sedan 2012',
|
139 |
+
'Hyundai Elantra Touring Hatchback 2012',
|
140 |
+
'Hyundai Azera Sedan 2012',
|
141 |
+
'Infiniti G Coupe IPL 2012',
|
142 |
+
'Infiniti QX56 SUV 2011',
|
143 |
+
'Isuzu Ascender SUV 2008',
|
144 |
+
'Jaguar XK XKR 2012',
|
145 |
+
'Jeep Patriot SUV 2012',
|
146 |
+
'Jeep Wrangler SUV 2012',
|
147 |
+
'Jeep Liberty SUV 2012',
|
148 |
+
'Jeep Grand Cherokee SUV 2012',
|
149 |
+
'Jeep Compass SUV 2012',
|
150 |
+
'Lamborghini Reventon Coupe 2008',
|
151 |
+
'Lamborghini Aventador Coupe 2012',
|
152 |
+
'Lamborghini Gallardo LP 570-4 Superleggera 2012',
|
153 |
+
'Lamborghini Diablo Coupe 2001',
|
154 |
+
'Land Rover Range Rover SUV 2012',
|
155 |
+
'Land Rover LR2 SUV 2012',
|
156 |
+
'Lincoln Town Car Sedan 2011',
|
157 |
+
'MINI Cooper Roadster Convertible 2012',
|
158 |
+
'Maybach Landaulet Convertible 2012',
|
159 |
+
'Mazda Tribute SUV 2011',
|
160 |
+
'McLaren MP4-12C Coupe 2012',
|
161 |
+
'Mercedes-Benz 300-Class Convertible 1993',
|
162 |
+
'Mercedes-Benz C-Class Sedan 2012',
|
163 |
+
'Mercedes-Benz SL-Class Coupe 2009',
|
164 |
+
'Mercedes-Benz E-Class Sedan 2012',
|
165 |
+
'Mercedes-Benz S-Class Sedan 2012',
|
166 |
+
'Mercedes-Benz Sprinter Van 2012',
|
167 |
+
'Mitsubishi Lancer Sedan 2012',
|
168 |
+
'Nissan Leaf Hatchback 2012',
|
169 |
+
'Nissan NV Passenger Van 2012',
|
170 |
+
'Nissan Juke Hatchback 2012',
|
171 |
+
'Nissan 240SX Coupe 1998',
|
172 |
+
'Plymouth Neon Coupe 1999',
|
173 |
+
'Porsche Panamera Sedan 2012',
|
174 |
+
'Ram C/V Cargo Van Minivan 2012',
|
175 |
+
'Rolls-Royce Phantom Drophead Coupe Convertible 2012',
|
176 |
+
'Rolls-Royce Ghost Sedan 2012',
|
177 |
+
'Rolls-Royce Phantom Sedan 2012',
|
178 |
+
'Scion xD Hatchback 2012',
|
179 |
+
'Spyker C8 Convertible 2009',
|
180 |
+
'Spyker C8 Coupe 2009',
|
181 |
+
'Suzuki Aerio Sedan 2007',
|
182 |
+
'Suzuki Kizashi Sedan 2012',
|
183 |
+
'Suzuki SX4 Hatchback 2012',
|
184 |
+
'Suzuki SX4 Sedan 2012',
|
185 |
+
'Tesla Model S Sedan 2012',
|
186 |
+
'Toyota Sequoia SUV 2012',
|
187 |
+
'Toyota Camry Sedan 2012',
|
188 |
+
'Toyota Corolla Sedan 2012',
|
189 |
+
'Toyota 4Runner SUV 2012',
|
190 |
+
'Volkswagen Golf Hatchback 2012',
|
191 |
+
'Volkswagen Golf Hatchback 1991',
|
192 |
+
'Volkswagen Beetle Hatchback 2012',
|
193 |
+
'Volvo C30 Hatchback 2012',
|
194 |
+
'Volvo 240 Sedan 1993',
|
195 |
+
'Volvo XC90 SUV 2007',
|
196 |
+
'smart fortwo Convertible 2012'
|
end2end.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:315903a83331cfd31947e1ea2fcc0e8663fbc100c4256684c855c5998a33aa6e
|
3 |
+
size 24318084
|
end2end.xml
ADDED
The diff for this file is too large to render.
See raw diff
|
|
requirements.txt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
mmcv
|
2 |
+
openvino
|
3 |
+
|