
    9iE                        S SK Jr  S SKJr  S SKJr  S SKJrJr  S SK	J
r
  S SKJrJr  S SKJr  \
" 5       r\" S5      r\r\" S	5      r\R(                  " 5       \   r\" \R/                  5       5       HL  r\S
   \R2                  :X  d  M  \S    S:X  d  M#  \\   \\R4                  R7                  5       \S
   \S   4'   MN       SS\S\S\4S jjrSS\S\4S jjr  SS\S\S\4S jjr g)    )Models)
ConfigDict)Tasks)	INDEX_KEYLazyImportModule)
get_logger)Registrybuild_from_cfg)get_task_by_subtask_namemodelsheads   	BACKBONES   Ncfg	task_namedefault_argsc                      [        U [        XS9nU$ ! [         a9  n[        U5      u  pVUc  [        U5      eX`S'   [        U [        XRS9n SnAU$ SnAff = f)a  build model given model config dict

Args:
    cfg (:obj:`ConfigDict`): config dict for model object.
    task_name (str, optional):  task name, refer to
        :obj:`Tasks` for more details
    default_args (dict, optional): Default initialization arguments.
	group_keyr   Ntype)r
   MODELSKeyErrorr   )r   r   r   modeleparent_tasktask_model_types          Y/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/models/builder.pybuild_modelr      ss    K9I L  	K (@	'J$"1+%F;KL	Ks    
A.AAc                    U R                  SS5      (       d  U R                  SS5      nOU R                  SS5      n [        U [        [        R
                  US9nU$ ! [         a\    [        R                  SU R                   S35        [        R                  U S'   X S'   [        U [        [        R
                  US9n U$ f = f)	zbuild backbone given backbone config dict

Args:
    cfg (:obj:`ConfigDict`): config dict for backbone object.
    default_args (dict, optional): Default initialization arguments.
init_backboneF	model_dirNr   zThe backbone zR is not registered in modelscope, try to import the backbone from hf transformers.r   )getpopr
   r   r   backboner   loggerwarningr   r   transformers)r   r   r"   r   s       r   build_backboner)   2   s     77?E**GGK.	GGK.	'nn%	'& L  ' 	CHH:%wx	
 ))F$Knn%	'
 L's   A A"CCc                      [        U [        XS9$ )zbuild head given config dict

Args:
    cfg (:obj:`ConfigDict`): config dict for head object.
    task_name (str, optional):  task name, refer to
        :obj:`Tasks` for more details
    default_args (dict, optional): Default initialization arguments.
r   )r
   HEADS)r   r   r   s      r   
build_headr,   U   s     UiD D    )NN)N)!modelscope.metainfor   modelscope.utils.configr   modelscope.utils.constantr   modelscope.utils.import_utilsr   r   modelscope.utils.loggerr   modelscope.utils.registryr	   r
   modelscope.utils.task_utilsr   r&   r   r   r+   get_ast_indexmoduleslistkeysmodule_indexr%   nameupperstrdictr   r)   r,    r-   r   <module>r?      s   & . + E . > @		(		

(
(
*9
5(LA%..(\!_-K%,\%: 	""$l1oa" 	# ) "&%)Z "6 
  $  H !%$(DJ DD!Dr-   