def _parse_model_doc_path(path):
    """Parse doc file path.

    Typical path would be like:

        configs/<task>/<algorithm>/<dataset>/<setting>.md

    An example is:

        "configs/animal_2d_keypoint/topdown_heatmap/
        animalpose/resnet_animalpose.md"

    Returns:
        tuple:
        - task (str): e.g. ``'Animal 2D Keypoint'``
        - dataset (str): e.g. ``'animalpose'``
        - keywords (tuple): e.g. ``('topdown heatmap', 'resnet')``
    """
    _path = path.split(osp.sep)
    _rel_path = _path[_path.index('configs'):]

    # get task
    def _titlecase_callback(word, **kwargs):
        if word == '2d':
            return '2D'
        if word == '3d':
            return '3D'

    task = titlecase(
        _rel_path[1].replace('_', ' '), callback=_titlecase_callback)

    # get dataset
    dataset = _rel_path[3]

    # get keywords
    keywords_algo = (_rel_path[2], )
    keywords_setting = tuple(_rel_path[4][:-3].split('_'))
    keywords = keywords_algo + keywords_setting

    return task, dataset, keywords
Parse doc file path.

    Typical path would be like:

        configs/<task>/<algorithm>/<dataset>/<setting>.md

    An example is:

        "configs/animal_2d_keypoint/topdown_heatmap/
        animalpose/resnet_animalpose.md"

    Returns:
        tuple:
        - task (str): e.g. ``'Animal 2D Keypoint'``
        - dataset (str): e.g. ``'animalpose'``
        - keywords (tuple): e.g. ``('topdown heatmap', 'resnet')``
    
mmpose/docs/en/collect_modelzoo.py