{"record":{"id":"60a103e3434e89a8","repo":"Lightning-AI/pytorch-lightning","slug":"unsupported-mode-mode-r-please-select-one-of","errorCode":null,"errorMessage":"Unsupported mode {mode!r}, please select one of: {list(_SUPPORTED_MODES)}.","messagePattern":"Unsupported mode (.+?), please select one of: (.+?)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"src/lightning/pytorch/utilities/combined_loader.py","lineNumber":286,"sourceCode":"        {'a': tensor([4, 5]), 'b': tensor([5, 6, 7, 8, 9])}, batch_idx=1, dataloader_idx=0\n\n        >>> combined_loader = CombinedLoader(iterables, 'sequential')\n        >>> _ = iter(combined_loader)\n        >>> len(combined_loader)\n        5\n        >>> for batch, batch_idx, dataloader_idx in combined_loader:\n        ...     print(f\"{batch}, {batch_idx=}, {dataloader_idx=}\")\n        tensor([0, 1, 2, 3]), batch_idx=0, dataloader_idx=0\n        tensor([4, 5]), batch_idx=1, dataloader_idx=0\n        tensor([0, 1, 2, 3, 4]), batch_idx=0, dataloader_idx=1\n        tensor([5, 6, 7, 8, 9]), batch_idx=1, dataloader_idx=1\n        tensor([10, 11, 12, 13, 14]), batch_idx=2, dataloader_idx=1\n\n    \"\"\"\n\n    def __init__(self, iterables: Any, mode: _LITERAL_SUPPORTED_MODES = \"min_size\") -> None:\n        if mode not in _SUPPORTED_MODES:\n            raise ValueError(f\"Unsupported mode {mode!r}, please select one of: {list(_SUPPORTED_MODES)}.\")\n        self._iterables = iterables\n        self._flattened, self._spec = _tree_flatten(iterables)\n        self._mode = mode\n        self._iterator: Optional[_ModeIterator] = None\n        self._limits: Optional[list[Union[int, float]]] = None\n\n    @property\n    def iterables(self) -> Any:\n        \"\"\"Return the original collection of iterables.\"\"\"\n        return self._iterables\n\n    @property\n    def sampler(self) -> Any:\n        \"\"\"Return a collections of samplers extracted from iterables.\"\"\"\n        return _map_and_unflatten(lambda x: getattr(x, \"sampler\", None), self.flattened, self._spec)\n\n    @property\n    def batch_sampler(self) -> Any:","sourceCodeStart":268,"sourceCodeEnd":304,"githubUrl":"https://github.com/Lightning-AI/pytorch-lightning/blob/9fed5c27d2a62ff0efd6c3573599921d6ff67c14/src/lightning/pytorch/utilities/combined_loader.py#L268-L304","documentation":"CombinedLoader only supports specific combination modes (min_size, max_size_cycle, etc.). Constructing it with an unknown mode string raises ValueError listing the supported modes.","triggerScenarios":"CombinedLoader([dl1, dl2], mode='max_size') or any mode not in _SUPPORTED_MODES (typos, outdated names).","commonSituations":"Using a mode name from an old version or inventing one; 'max_size' instead of 'max_size_cycle'.","solutions":["Use an exact supported mode string, e.g. 'min_size' or 'max_size_cycle'","Print/list _SUPPORTED_MODES keys for your installed version to see valid names"],"exampleFix":"# before\ncl = CombinedLoader([dl1, dl2], mode=\"max_size\")\n# after\ncl = CombinedLoader([dl1, dl2], mode=\"max_size_cycle\")","handlingStrategy":"type-guard","validationCode":"from lightning.pytorch.utilities.combined_loader import _SUPPORTED_MODES\nassert mode in _SUPPORTED_MODES, f\"use one of {list(_SUPPORTED_MODES)}\"","typeGuard":"from typing import Literal\nSupportedMode = Literal[\"min_size\", \"max_size_cycle\", \"max_size\", \"permissive\"]\ndef is_supported_mode(m: str) -> bool:\n    from lightning.pytorch.utilities.combined_loader import _SUPPORTED_MODES\n    return m in _SUPPORTED_MODES","tryCatchPattern":null,"preventionTips":["Check _SUPPORTED_MODES for your installed version before hardcoding mode strings"],"tags":["combined-loader","mode","invalid-argument"],"backgroundTag":"invalid-argument-value","analyzedSha":"9fed5c27d2a62ff0efd6c3573599921d6ff67c14","analyzedAt":"2026-08-28T11:52:41.083Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}