Upload app.py
Browse files
app.py
CHANGED
|
@@ -359,7 +359,12 @@ class AppState:
|
|
| 359 |
print(f"Loading RF-DETR from: {checkpoint}")
|
| 360 |
self.model = load_model(checkpoint, self.config.get('resolution'))
|
| 361 |
|
| 362 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 363 |
try:
|
| 364 |
results_json = "/tmp/results/results.json"
|
| 365 |
if os.path.isfile(results_json):
|
|
@@ -372,10 +377,15 @@ class AppState:
|
|
| 372 |
name = item.get("class")
|
| 373 |
if name and name != "all" and name not in classes:
|
| 374 |
classes.append(name)
|
| 375 |
-
|
| 376 |
-
|
| 377 |
-
|
| 378 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 379 |
print("✓ RF-DETR model loaded")
|
| 380 |
|
| 381 |
def preload_all_models(self):
|
|
|
|
| 359 |
print(f"Loading RF-DETR from: {checkpoint}")
|
| 360 |
self.model = load_model(checkpoint, self.config.get('resolution'))
|
| 361 |
|
| 362 |
+
# Set default class names (can be overridden by results.json)
|
| 363 |
+
# Index corresponds to class_id from the model
|
| 364 |
+
default_class_names = ["Background", "Granuloma"]
|
| 365 |
+
|
| 366 |
+
# Try to load class names from results.json
|
| 367 |
+
loaded_classes = None
|
| 368 |
try:
|
| 369 |
results_json = "/tmp/results/results.json"
|
| 370 |
if os.path.isfile(results_json):
|
|
|
|
| 377 |
name = item.get("class")
|
| 378 |
if name and name != "all" and name not in classes:
|
| 379 |
classes.append(name)
|
| 380 |
+
if classes:
|
| 381 |
+
loaded_classes = classes
|
| 382 |
+
except Exception as e:
|
| 383 |
+
print(f"Could not load class names from results.json: {e}")
|
| 384 |
+
|
| 385 |
+
# Use loaded classes if available, otherwise use defaults
|
| 386 |
+
self.class_names = loaded_classes if loaded_classes else default_class_names
|
| 387 |
+
print(f"Using class names: {self.class_names}")
|
| 388 |
+
|
| 389 |
print("✓ RF-DETR model loaded")
|
| 390 |
|
| 391 |
def preload_all_models(self):
|