File size: 916 Bytes
9c1053c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import time
from concurrent.futures import ThreadPoolExecutor
class BatchProcessor:
def __init__(self):
self.max_workers = 4
def process(self, images: list) -> dict:
start_time = time.time()
results = []
for img in images:
result = self._process_single(img)
results.append(result)
processing_time = (time.time() - start_time) * 1000
avg_confidence = sum(r.get('confidence', 0) for r in results) / len(results) if results else 0
return {
"total": len(results),
"items": results,
"avg_confidence": avg_confidence,
"processing_time": processing_time
}
def _process_single(self, image: np.ndarray) -> dict:
return {
"id": id(image),
"type": "clothing",
"confidence": 0.85
} |