glenn-jocher commited on
Commit
6445a81
·
unverified ·
1 Parent(s): 7539cd7

Resolve dataset paths (#6489)

Browse files
Files changed (1) hide show
  1. utils/general.py +5 -2
utils/general.py CHANGED
@@ -394,12 +394,15 @@ def check_dataset(data, autodownload=True):
394
  with open(data, errors='ignore') as f:
395
  data = yaml.safe_load(f) # dictionary
396
 
397
- # Parse yaml
398
- path = extract_dir or Path(data.get('path') or '') # optional 'path' default to '.'
 
 
399
  for k in 'train', 'val', 'test':
400
  if data.get(k): # prepend path
401
  data[k] = str(path / data[k]) if isinstance(data[k], str) else [str(path / x) for x in data[k]]
402
 
 
403
  assert 'nc' in data, "Dataset 'nc' key missing."
404
  if 'names' not in data:
405
  data['names'] = [f'class{i}' for i in range(data['nc'])] # assign class names if missing
 
394
  with open(data, errors='ignore') as f:
395
  data = yaml.safe_load(f) # dictionary
396
 
397
+ # Resolve paths
398
+ path = Path(extract_dir or data.get('path') or '') # optional 'path' default to '.'
399
+ if not path.is_absolute():
400
+ path = (ROOT / path).resolve()
401
  for k in 'train', 'val', 'test':
402
  if data.get(k): # prepend path
403
  data[k] = str(path / data[k]) if isinstance(data[k], str) else [str(path / x) for x in data[k]]
404
 
405
+ # Parse yaml
406
  assert 'nc' in data, "Dataset 'nc' key missing."
407
  if 'names' not in data:
408
  data['names'] = [f'class{i}' for i in range(data['nc'])] # assign class names if missing