Ë
    S^(hœ  ã                   óR   — d dl mZmZ ddlmZ ddlmZ defd„ZdZ G d	„ d
e«      Z	y)é    )ÚArgumentParserÚ	Namespaceé   )Úloggingé   )ÚBaseTransformersCLICommandÚargsc                 ó„   — t        | j                  | j                  | j                  | j                  | j
                  «      S )zx
    Factory function used to convert a model TF 1.0 checkpoint in a PyTorch checkpoint.

    Returns: ServeCommand
    )ÚConvertCommandÚ
model_typeÚtf_checkpointÚpytorch_dump_outputÚconfigÚfinetuning_task_name)r	   s    ú[/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/commands/convert.pyÚconvert_command_factoryr      s7   € ô Ø�‰˜×+Ñ+¨T×-EÑ-EÀtÇ{Á{ÐTX×TmÑTmóð ó    zá
transformers can only be used from the commandline to convert TensorFlow models in PyTorch, In that case, it requires
TensorFlow to be installed. Please see https://www.tensorflow.org/install/ for installation instructions.
c            
       óD   — e Zd Zedefd„«       Zdededededef
d„Zd	„ Zy
)r   Úparserc                 óP  — | j                  dd¬«      }|j                  dt        dd¬«       |j                  dt        dd	¬«       |j                  d
t        dd¬«       |j                  dt        dd¬«       |j                  dt        dd¬«       |j                  t        ¬«       y)z³
        Register this command to argparse so it's available for the transformer-cli

        Args:
            parser: Root parser to register command-specific arguments
        ÚconvertzcCLI tool to run convert model from original author checkpoints to Transformers PyTorch checkpoints.)Úhelpz--model_typeTzModel's type.)ÚtypeÚrequiredr   z--tf_checkpointz%TensorFlow checkpoint path or folder.z--pytorch_dump_outputz'Path to the PyTorch saved model output.z--configÚ z"Configuration file path or folder.)r   Údefaultr   z--finetuning_task_nameNzEOptional fine-tuning task name if the TF model was a finetuned model.)Úfunc)Ú
add_parserÚadd_argumentÚstrÚset_defaultsr   )r   Útrain_parsers     r   Úregister_subcommandz"ConvertCommand.register_subcommand'   sÂ   € ð ×(Ñ(ØØvð )ó 
ˆð 	×!Ñ! .´sÀTÐP_Ð!Ô`Ø×!Ñ!Ø¤C°$Ð=dð 	"ô 	
ð 	×!Ñ!Ø#¬#¸ÐClð 	"ô 	
ð 	×!Ñ! *´3ÀÐImÐ!ÔnØ×!Ñ!Ø$ÜØØXð	 	"ô 	
ð 	×!Ñ!Ô'>Ð!Õ?r   r   r   r   r   r   c                 óº   — t        j                  d«      | _        | j                  j                  d|› �«       || _        || _        || _        || _        || _        y )Nztransformers-cli/convertingzLoading model )	r   Ú
get_loggerÚ_loggerÚinfoÚ_model_typeÚ_tf_checkpointÚ_pytorch_dump_outputÚ_configÚ_finetuning_task_name)Úselfr   r   r   r   r   r	   s          r   Ú__init__zConvertCommand.__init__C   sW   € ô ×)Ñ)Ð*GÓHˆŒà�‰×Ñ˜N¨:¨,Ð7Ô8Ø%ˆÔØ+ˆÔØ$7ˆÔ!ØˆŒØ%9ˆÕ"r   c                 ó6  — | j                   dk(  r0	 ddlm}  || j
                  | j                  | j                  «       y | j                   dk(  r0	 ddlm}  || j
                  | j                  | j                  «       y | j                   dk(  r0	 ddl	m}  || j
                  | j                  | j                  «       y | j                   dk(  r0	 ddl
m}  || j
                  | j                  | j                  «       y | j                   dk(  r/ddlm}  || j
                  | j                  | j                  «       y | j                   d	k(  r0	 dd
lm}  || j
                  | j                  | j                  «       y | j                   dk(  r;	 ddlm}  || j
                  | j                  | j                  | j"                  «       y | j                   dk(  r$ddlm}  || j
                  | j                  «       y | j                   dk(  r$ddlm}  || j
                  | j                  «       y | j                   dk(  r/ddlm}  || j
                  | j                  | j                  «       y t1        d«      ‚# t        $ r t        t        «      ‚w xY w# t        $ r t        t        «      ‚w xY w# t        $ r t        t        «      ‚w xY w# t        $ r t        t        «      ‚w xY w# t        $ r t        t        «      ‚w xY w# t        $ r t        t        «      ‚w xY w)NÚalbertr   )Ú convert_tf_checkpoint_to_pytorchÚbertÚfunnelÚt5Úgpt)Ú$convert_openai_checkpoint_to_pytorchÚgpt2)Ú"convert_gpt2_checkpoint_to_pytorchÚxlnet)Ú#convert_xlnet_checkpoint_to_pytorchÚxlm)Ú!convert_xlm_checkpoint_to_pytorchÚlxmert)Ú$convert_lxmert_checkpoint_to_pytorchÚrembert)Ú(convert_rembert_tf_checkpoint_to_pytorchzU--model_type should be selected in the list [bert, gpt, gpt2, t5, xlnet, xlm, lxmert])r(   Ú>models.albert.convert_albert_original_tf_checkpoint_to_pytorchr1   ÚImportErrorÚIMPORT_ERROR_MESSAGEr)   r+   r*   Ú:models.bert.convert_bert_original_tf_checkpoint_to_pytorchÚ>models.funnel.convert_funnel_original_tf_checkpoint_to_pytorchÚ6models.t5.convert_t5_original_tf_checkpoint_to_pytorchÚ>models.openai.convert_openai_original_tf_checkpoint_to_pytorchr6   Ú:models.gpt2.convert_gpt2_original_tf_checkpoint_to_pytorchr8   Ú<models.xlnet.convert_xlnet_original_tf_checkpoint_to_pytorchr:   r,   Ú=models.xlm.convert_xlm_original_pytorch_checkpoint_to_pytorchr<   Ú>models.lxmert.convert_lxmert_original_tf_checkpoint_to_pytorchr>   Ú7models.rembert.convert_rembert_tf_checkpoint_to_pytorchr@   Ú
ValueError)r-   r1   r6   r8   r:   r<   r>   r@   s           r   ÚrunzConvertCommand.runU   sÆ  € Ø×Ñ˜xÒ'ð8õñ -¨T×-@Ñ-@À$Ç,Á,ÐPT×PiÑPiÕjØ×Ñ Ò'ð8õñ -¨T×-@Ñ-@À$Ç,Á,ÐPT×PiÑPiÕjØ×Ñ Ò)ð8õñ -¨T×-@Ñ-@À$Ç,Á,ÐPT×PiÑPiÕjØ×Ñ Ò%ð8Ýuñ -¨T×-@Ñ-@À$Ç,Á,ÐPT×PiÑPiÕjØ×Ñ Ò&õñ 1°×1DÑ1DÀdÇlÁlÐTX×TmÑTmÕnØ×Ñ Ò'ð8õñ /¨t×/BÑ/BÀDÇLÁLÐRV×RkÑRkÕlØ×Ñ Ò(ð8õñ 0Ø×#Ñ# T§\¡\°4×3LÑ3LÈd×NhÑNhõð ×Ñ Ò&õñ .¨d×.AÑ.AÀ4×C\ÑC\Õ]Ø×Ñ Ò)õñ 1°×1DÑ1DÀd×F_ÑF_Õ`Ø×Ñ Ò*õñ 5°T×5HÑ5HÈ$Ï,É,ÐX\×XqÑXqÕräÐtÓuÐuøôU ò 8Ü!Ô"6Ó7Ð7ð8ûô ò 8Ü!Ô"6Ó7Ð7ð8ûô ò 8Ü!Ô"6Ó7Ð7ð8ûô ò 8Ü!Ô"6Ó7Ð7ð8ûô ò 8Ü!Ô"6Ó7Ð7ð8ûô ò 8Ü!Ô"6Ó7Ð7ð8úsG   ‘I3 ÁJ ÂJ+ ÃK ÅK# Æ
K? É3JÊJ(Ê+KËK Ë#K<Ë?LN)	Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   r#   r    r.   rN   © r   r   r   r   &   sZ   „ Øð@ Nò @ó ð@ð6:àð:ð ð:ð !ð	:ð
 ð:ð "ó:ó$Pvr   r   N)
Úargparser   r   Úutilsr   r   r   r   rC   r   rS   r   r   ú<module>rV      s5   ð÷ /å Ý (ð )ó ðÐ ôvÐ/õ vr   