{"record":{"id":"db0853df8d7393e7","repo":"huggingface/pytorch-image-models","slug":"split-split-not-found-in-info-info-get-splits","errorCode":null,"errorMessage":"split {split} not found in info ({info.get('splits', {}).keys()})","messagePattern":"split (.+?) not found in info \\((.+?)\\)\\.keys\\(\\)\\}\\)","errorType":"error_code","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"timm/data/readers/reader_wds.py","lineNumber":118,"sourceCode":"        split_filenames = expand_urls(split)\n        if split_name:\n            split_info = info['splits'][split_name]\n            if not num_samples:\n                _fc = {f: c for f, c in zip(split_info['filenames'], split_info['shard_lengths'])}\n                num_samples = sum(_fc[f] for f in split_filenames)\n                split_info['filenames'] = tuple(_fc.keys())\n                split_info['shard_lengths'] = tuple(_fc.values())\n                split_info['num_samples'] = num_samples\n            split_info = _info_convert(split_info)\n        else:\n            split_info = SplitInfo(\n                name=split_name,\n                num_samples=num_samples,\n                filenames=split_filenames,\n            )\n    else:\n        if 'splits' not in info or split not in info['splits']:\n            raise RuntimeError(f\"split {split} not found in info ({info.get('splits', {}).keys()})\")\n        split = split\n        split_info = info['splits'][split]\n        split_info = _info_convert(split_info)\n\n    return split_info\n\n\ndef log_and_continue(exn):\n    \"\"\"Call in an exception handler to ignore exceptions, issue a warning, and continue.\"\"\"\n    _logger.warning(f'Handling webdataset error ({repr(exn)}). Ignoring.')\n    # NOTE: try force an exit on errors that are clearly code / config and not transient\n    if isinstance(exn, TypeError):\n        raise exn\n    return True\n\n\ndef _decode(\n        sample,","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/huggingface/pytorch-image-models/blob/9a5261e31b3b5128526eb2658333b4c0a54464ae/timm/data/readers/reader_wds.py#L100-L136","documentation":"ReaderWds/_parse_split_info reads an info.json (or similar) describing the webdataset splits; the requested split name was not a key in its 'splits' mapping, so the reader cannot determine filenames/sample counts.","triggerScenarios":"Creating ReaderWds(root, split='validation') when info.json only defines 'train' and 'val'; also triggered when no 'splits' key exists at all.","commonSituations":"Split-name mismatch across dataset builds ('valid' vs 'validation' vs 'val'); pointing --data-dir at a directory whose info.json belongs to a different dataset layout; manually authored info.json missing the splits section.","solutions":["Print the available keys: python -c \"import json;print(json.load(open('wds-root/info.json'))['splits'].keys())\" and use one of those names.","If split names were changed during dataset export, rebuild info.json or rename the split argument (e.g. use 'val').","Ensure --data-dir points at the directory containing the correct info.json for your dataset."],"exampleFix":"# before\nreader = ReaderWds('/data/imagenet-wds', split='validation')\n\n# after\nreader = ReaderWds('/data/imagenet-wds', split='val')  # matches info.json","handlingStrategy":"validation","validationCode":"import json\ninfo = json.load(open(f'{root}/info.json'))\nsplit = 'val' if 'val' in info.get('splits',{}) else 'validation'\nassert split in info['splits'], f\"available: {list(info['splits'])}\"","typeGuard":null,"tryCatchPattern":"try:\n    reader = ReaderWds(root, split=split)\nexcept RuntimeError as e:\n    if 'not found in info' in str(e):\n        print(json.load(open(f'{root}/info.json')).get('splits', {}).keys())\n    raise","preventionTips":["Standardize split names when building webdatasets.","Inspect info.json before writing training scripts.","Keep split-name aliases in your config."],"tags":["timm","webdataset","split","info-json"],"backgroundTag":"split-not-found-in-manifest","analyzedSha":"9a5261e31b3b5128526eb2658333b4c0a54464ae","analyzedAt":"2026-08-27T02:34:25.417Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}