Fixing minor multi-streaming issues with TensoRT engine (#6504)
* Update batch-size in model.warmup() + indentation for logging inference results * These changes are in response to PR comments * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
079b36d72b
commit
8fcdf3b60b
|
|
@ -110,7 +110,7 @@ def run(weights=ROOT / 'yolov5s.pt', # model.pt path(s)
|
||||||
vid_path, vid_writer = [None] * bs, [None] * bs
|
vid_path, vid_writer = [None] * bs, [None] * bs
|
||||||
|
|
||||||
# Run inference
|
# Run inference
|
||||||
model.warmup(imgsz=(1, 3, *imgsz), half=half) # warmup
|
model.warmup(imgsz=(1 if pt else bs, 3, *imgsz), half=half) # warmup
|
||||||
dt, seen = [0.0, 0.0, 0.0], 0
|
dt, seen = [0.0, 0.0, 0.0], 0
|
||||||
for path, im, im0s, vid_cap, s in dataset:
|
for path, im, im0s, vid_cap, s in dataset:
|
||||||
t1 = time_sync()
|
t1 = time_sync()
|
||||||
|
|
@ -175,9 +175,6 @@ def run(weights=ROOT / 'yolov5s.pt', # model.pt path(s)
|
||||||
if save_crop:
|
if save_crop:
|
||||||
save_one_box(xyxy, imc, file=save_dir / 'crops' / names[c] / f'{p.stem}.jpg', BGR=True)
|
save_one_box(xyxy, imc, file=save_dir / 'crops' / names[c] / f'{p.stem}.jpg', BGR=True)
|
||||||
|
|
||||||
# Print time (inference-only)
|
|
||||||
LOGGER.info(f'{s}Done. ({t3 - t2:.3f}s)')
|
|
||||||
|
|
||||||
# Stream results
|
# Stream results
|
||||||
im0 = annotator.result()
|
im0 = annotator.result()
|
||||||
if view_img:
|
if view_img:
|
||||||
|
|
@ -203,6 +200,9 @@ def run(weights=ROOT / 'yolov5s.pt', # model.pt path(s)
|
||||||
vid_writer[i] = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
|
vid_writer[i] = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*'mp4v'), fps, (w, h))
|
||||||
vid_writer[i].write(im0)
|
vid_writer[i].write(im0)
|
||||||
|
|
||||||
|
# Print time (inference-only)
|
||||||
|
LOGGER.info(f'{s}Done. ({t3 - t2:.3f}s)')
|
||||||
|
|
||||||
# Print results
|
# Print results
|
||||||
t = tuple(x / seen * 1E3 for x in dt) # speeds per image
|
t = tuple(x / seen * 1E3 for x in dt) # speeds per image
|
||||||
LOGGER.info(f'Speed: %.1fms pre-process, %.1fms inference, %.1fms NMS per image at shape {(1, 3, *imgsz)}' % t)
|
LOGGER.info(f'Speed: %.1fms pre-process, %.1fms inference, %.1fms NMS per image at shape {(1, 3, *imgsz)}' % t)
|
||||||
|
|
|
||||||
2
val.py
2
val.py
|
|
@ -162,7 +162,7 @@ def run(data,
|
||||||
|
|
||||||
# Dataloader
|
# Dataloader
|
||||||
if not training:
|
if not training:
|
||||||
model.warmup(imgsz=(1, 3, imgsz, imgsz), half=half) # warmup
|
model.warmup(imgsz=(1 if pt else batch_size, 3, imgsz, imgsz), half=half) # warmup
|
||||||
pad = 0.0 if task == 'speed' else 0.5
|
pad = 0.0 if task == 'speed' else 0.5
|
||||||
task = task if task in ('train', 'val', 'test') else 'val' # path to train/val/test images
|
task = task if task in ('train', 'val', 'test') else 'val' # path to train/val/test images
|
||||||
dataloader = create_dataloader(data[task], imgsz, batch_size, stride, single_cls, pad=pad, rect=pt,
|
dataloader = create_dataloader(data[task], imgsz, batch_size, stride, single_cls, pad=pad, rect=pt,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue