ó
    È9im  ã            	       ób  • S r SSKJr  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  SS	KJr  \" 5       r " S
 S5      r " S S\\\5      r\R(                  " \R*                  \R,                  S9\R(                  " \R*                  \R.                  S9 " S S\\\5      5       5       rg)zPyTorch LLaMA model.é    )ÚLlamaConfig)Ú
LlamaModel)ÚLlamaPreTrainedModel)ÚModels)ÚModelÚ
TorchModel)ÚMODELS)ÚTasks)Ú
get_loggerc                   ó2   ^ • \ rS rSr\U 4S j5       rSrU =r$ )ÚMsModelMixiné#   c                 óê   >• UR                  SS5      nUR                  SS5      nUc  [        S0 UD6nU " U5      nO[        [        U ]  " SSU0UD6nX%l        SU;   d  Uc  U$ UR                  U5      $ )a   Instantiate the model.

Args:
    kwargs: Input args.
            model_dir: The model dir used to load the checkpoint and the label information.
            num_labels: An optional arg to tell the model how many classes to initialize.
                            Method will call utils.parse_label_mapping if num_labels not supplied.
                            If num_labels is not found, the model will use the default setting (2 classes).

Returns:
    The loaded model, which is initialized by transformers.PreTrainedModel.from_pretrained
Ú	model_dirNÚdeviceÚpretrained_model_name_or_pathÚ
device_map© )Úpopr   Úsuperr   Úfrom_pretrainedr   Úto)ÚclsÚkwargsr   r   ÚconfigÚmodelÚ	__class__s         €Úd/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/models/nlp/llama/backbone.pyÚ_instantiateÚMsModelMixin._instantiate%   s’   ø€ ð —J‘J˜{¨DÓ1ˆ	Ø—‘˜H dÓ+ˆØÑÜ Ñ* 6Ñ*ˆFÙ˜“K‰Eäœ,¨Ò<ñ CØ.7ðCØ;AñCˆEà#ŒØ$¨Ó.Ø‰~ð ð 	4Ø#(§8¡8¨FÓ#3ð	4ó    r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úclassmethodr   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r   #   s   ø† àô4ó ö4r!   r   c                   ó   • \ rS rSrSrg)r   é@   r   N©r"   r#   r$   r%   r'   r   r!   r   r   r   @   s   † Úr!   r   )Úmodule_namec                   ó   • \ rS rSrSrg)r   éD   r   Nr+   r   r!   r   r   r   D   s   † ò 	r!   r   N)Ú__doc__Útransformers.models.llamar   r   ÚLlamaModelHFr   ÚLlamaPreTrainedModelHFÚmodelscope.metainfor   Úmodelscope.modelsr   r   Úmodelscope.models.builderr	   Úmodelscope.utils.constantr
   Úmodelscope.utils.loggerr   Úloggerr   Úregister_moduleÚbackboneÚllama2Úllamar   r!   r   Ú<module>r=      s›   ðñ( Ý 1Ý @õ3õ 'ß /Ý ,Ý +Ý .á	‹€÷4ñ 4ô:	˜<Ð)?Àô 	ð ×Ò˜Ÿ™°F·M±MÑBØ×Ò˜Ÿ™°F·L±LÑAô	˜|¨Zó 	ó Bó Cñ	r!   