Agent: bound video GPU work (early-exit frame loop at max_regions) #172
@@ -15,7 +15,7 @@ from .worker import Worker
|
||||
# Bump on every agent change. The page embeds this and /status reports it; the UI
|
||||
# warns to reload when they differ — so a stale browser-cached page can't be
|
||||
# mistaken for "the new image didn't deploy". (Belt-and-braces with no-store.)
|
||||
VERSION = "2026-06-30.9 · region-caps + active-reset"
|
||||
VERSION = "2026-06-30.10 · video region early-exit"
|
||||
|
||||
logbuf.install()
|
||||
cfg = Config.from_env()
|
||||
|
||||
@@ -559,6 +559,12 @@ class Worker:
|
||||
tmpl["siglip_embedding"] = vec
|
||||
tmpl["embedding_version"] = embed_version
|
||||
regions.append(tmpl)
|
||||
# Stop once we have enough: a long video (image 81602 = a 156 MB
|
||||
# mp4, 64 sampled frames × ~32 regions) would otherwise burn ~38s
|
||||
# of GPU across every frame before the submit is even truncated.
|
||||
# Bounds the WORK, not just the POST body.
|
||||
if len(regions) >= self.cfg.max_regions:
|
||||
break
|
||||
self._record("gpu", time.monotonic() - _t_gpu)
|
||||
# Backstop: never submit an unbounded pile of regions (a pathological
|
||||
# image / long video). Keep the highest-scoring max_regions so the
|
||||
|
||||
Reference in New Issue
Block a user