Spaces:
Runtime error
Runtime error
# Copyright (c) OpenMMLab. All rights reserved. | |
from typing import Dict | |
from mmengine.infer import BaseInferencer | |
def get_model_aliases(scope: str = 'mmpose') -> Dict[str, str]: | |
"""Retrieve model aliases and their corresponding configuration names. | |
Args: | |
scope (str, optional): The scope for the model aliases. Defaults | |
to 'mmpose'. | |
Returns: | |
Dict[str, str]: A dictionary containing model aliases as keys and | |
their corresponding configuration names as values. | |
""" | |
# Get a list of model configurations from the metafile | |
repo_or_mim_dir = BaseInferencer._get_repo_or_mim_dir(scope) | |
model_cfgs = BaseInferencer._get_models_from_metafile(repo_or_mim_dir) | |
model_alias_dict = dict() | |
for model_cfg in model_cfgs: | |
if 'Alias' in model_cfg: | |
if isinstance(model_cfg['Alias'], str): | |
model_alias_dict[model_cfg['Alias']] = model_cfg['Name'] | |
elif isinstance(model_cfg['Alias'], list): | |
for alias in model_cfg['Alias']: | |
model_alias_dict[alias] = model_cfg['Name'] | |
else: | |
raise ValueError( | |
'encounter an unexpected alias type. Please raise an ' | |
'issue at https://github.com/open-mmlab/mmpose/issues ' | |
'to announce us') | |
return model_alias_dict | |