o
    W+ i                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZmZ ed	Zejd
fdedefddZd
S )    )Trainers)normalize_model_input)is_official_hub_path)check_config)DEFAULT_MODEL_REVISION)read_config)register_modelhub_reporegister_plugins_repo)Registrybuild_from_cfgZtrainersNnamedefault_argsc                 C   s   t | d}|dd}|dt}t|ts"t|trPt|d trPt||drPt|tr3t||dnt|d |d}t||}t	|
d t||dd	 t|t|d
S )z build trainer given a trainer name

    Args:
        name (str, optional):  Trainer name, if None, default trainer
            will be used.
        default_args (dict, optional): Default initialization arguments.
    )typemodelNmodel_revisionr   )revisionpluginsZallow_remoteF)r   )dictgetr   
isinstancestrlistr   r   r   r	   Zsafe_getr   r   TRAINERS)r   r   cfgr   r   configurationZ	model_dir r   g/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/modelscope/trainers/builder.pybuild_trainer   s2   



r   )Zmodelscope.metainfor   Zmodelscope.pipelines.builderr   Zmodelscope.pipelines.utilr   Zmodelscope.utils.configr   Zmodelscope.utils.constantr   Zmodelscope.utils.hubr   Zmodelscope.utils.pluginsr   r	   Zmodelscope.utils.registryr
   r   r   defaultr   r   r   r   r   r   r   <module>   s   