ultralytics 8.0.35 TensorRT, ONNX and OpenVINO predict and val (#929)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Pedley <ericpedley@gmail.com>
This commit is contained in:
Glenn Jocher
2023-02-11 21:31:49 +04:00
committed by GitHub
parent d32b339373
commit 977fd8f0b8
15 changed files with 88 additions and 69 deletions

View File

@ -17,10 +17,10 @@ class SegmentationPredictor(DetectionPredictor):
self.args.iou,
agnostic=self.args.agnostic_nms,
max_det=self.args.max_det,
nm=32,
nc=len(self.model.names),
classes=self.args.classes)
results = []
proto = preds[1][-1]
proto = preds[1][-1] if len(preds[1]) == 3 else preds[1] # second output is len 3 if pt, but only 1 if exported
for i, pred in enumerate(p):
shape = orig_img[i].shape if isinstance(orig_img, list) else orig_img.shape
if not len(pred):

View File

@ -28,14 +28,12 @@ class SegmentationValidator(DetectionValidator):
return batch
def init_metrics(self, model):
head = model.model[-1] if self.training else model.model.model[-1]
val = self.data.get(self.args.split, '') # validation path
self.is_coco = isinstance(val, str) and val.endswith(f'coco{os.sep}val2017.txt') # is COCO dataset
self.class_map = ops.coco80_to_coco91_class() if self.is_coco else list(range(1000))
self.args.save_json |= self.is_coco and not self.training # run on final val if training COCO
self.nc = head.nc
self.nm = head.nm if hasattr(head, "nm") else 32
self.names = model.names
self.nc = len(model.names)
self.metrics.names = self.names
self.metrics.plot = self.args.plots
self.confusion_matrix = ConfusionMatrix(nc=self.nc)
@ -61,8 +59,9 @@ class SegmentationValidator(DetectionValidator):
multi_label=True,
agnostic=self.args.single_cls,
max_det=self.args.max_det,
nm=self.nm)
return p, preds[1][-1]
nc=self.nc)
proto = preds[1][-1] if len(preds[1]) == 3 else preds[1] # second output is len 3 if pt, but only 1 if exported
return p, proto
def update_metrics(self, preds, batch):
# Metrics