def raise_if_valid_subsets_unintentionally_ignored(train_cfg) -> None:
    "Raises if there are paths matching 'valid*[0-9].*' which are not combined or ignored."
    if (train_cfg.dataset.ignore_unused_valid_subsets or train_cfg.dataset.combine_valid_subsets or train_cfg.dataset.disable_validation or (not hasattr(train_cfg.task, 'data'))):
        return
    other_paths = _find_extra_valid_paths(train_cfg.task.data)
    specified_subsets = train_cfg.dataset.valid_subset.split(',')
    ignored_paths = [p for p in other_paths if (p not in specified_subsets)]
    if ignored_paths:
        advice = 'Set --combine-val to combine them or --ignore-unused-valid-subsets to ignore them.'
        msg = f'Valid paths {ignored_paths} will be ignored. {advice}'
        raise ValueError(msg)
Raises if there are paths matching 'valid*[0-9].*' which are not combined or ignored.
def raise_if_valid_subsets_unintentionally_ignored(train_cfg) -> None:
    
    if (train_cfg.dataset.ignore_unused_valid_subsets or train_cfg.dataset.combine_valid_subsets or train_cfg.dataset.disable_validation or (not hasattr(train_cfg.task, 'data'))):
        return
    other_paths = _find_extra_valid_paths(train_cfg.task.data)
    specified_subsets = train_cfg.dataset.valid_subset.split(',')
    ignored_paths = [p for p in other_paths if (p not in specified_subsets)]
    if ignored_paths:
        advice = 'Set --combine-val to combine them or --ignore-unused-valid-subsets to ignore them.'
        msg = f'Valid paths {ignored_paths} will be ignored. {advice}'
        raise ValueError(msg)