glenn-jocher commited on
Commit
6903251
·
unverified ·
1 Parent(s): 30bc089

`np.unique()` sort fix for segments (#5609)

Browse files

* `np.unique()` sort fix for segments

* Update datasets.py

Files changed (1) hide show
  1. utils/datasets.py +6 -4
utils/datasets.py CHANGED
@@ -913,10 +913,12 @@ def verify_image_label(args):
913
  assert l.shape[1] == 5, f'labels require 5 columns, {l.shape[1]} columns detected'
914
  assert (l >= 0).all(), f'negative label values {l[l < 0]}'
915
  assert (l[:, 1:] <= 1).all(), f'non-normalized or out of bounds coordinates {l[:, 1:][l[:, 1:] > 1]}'
916
- l = np.unique(l, axis=0) # remove duplicate rows
917
- if len(l) < nl:
918
- segments = np.unique(segments, axis=0)
919
- msg = f'{prefix}WARNING: {im_file}: {nl - len(l)} duplicate labels removed'
 
 
920
  else:
921
  ne = 1 # label empty
922
  l = np.zeros((0, 5), dtype=np.float32)
 
913
  assert l.shape[1] == 5, f'labels require 5 columns, {l.shape[1]} columns detected'
914
  assert (l >= 0).all(), f'negative label values {l[l < 0]}'
915
  assert (l[:, 1:] <= 1).all(), f'non-normalized or out of bounds coordinates {l[:, 1:][l[:, 1:] > 1]}'
916
+ _, i = np.unique(l, axis=0, return_index=True)
917
+ if len(i) < nl: # duplicate row check
918
+ l = l[i] # remove duplicates
919
+ if segments:
920
+ segments = segments[i]
921
+ msg = f'{prefix}WARNING: {im_file}: {nl - len(i)} duplicate labels removed'
922
  else:
923
  ne = 1 # label empty
924
  l = np.zeros((0, 5), dtype=np.float32)