
    eTh                     T    S SK JrJr  SSKJr  SSKJr  S\4S jrSr " S	 S
\5      r	g)    )ArgumentParser	Namespace   )logging   )BaseTransformersCLICommandargsc                     [        U R                  U R                  U R                  U R                  U R
                  5      $ )zl
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    U/var/www/auris/envauris/lib/python3.13/site-packages/transformers/commands/convert.pyconvert_command_factoryr      s7     ++T-E-Et{{TXTmTm     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            
       P    \ rS rSr\S\4S j5       rS\S\S\S\S\4
S	 jrS
 r	Sr
g)r   &   parserc                 &   U R                  SSS9nUR                  S[        SSS9  UR                  S[        SS	S9  UR                  S
[        SSS9  UR                  S[        SSS9  UR                  S[        SSS9  UR                  [        S9  g)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_subcommand"ConvertCommand.register_subcommand'   s     ((v ) 
 	!!.sTP_!`!!C$=d 	" 	
 	!!##Cl 	" 	
 	!!*3Im!n!!$X	 	" 	
 	!!'>!?r   r   r   r   r   r   c                     [         R                  " S5      U l        U R                  R                  SU 35        Xl        X l        X0l        X@l        XPl        g )Nztransformers/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__ConvertCommand.__init__C   sM     ))*CDN:,78%+$7!%9"r   c                 V   U R                   S:X  a0   SSKJn  U" U R
                  U R                  U R                  5        g U R                   S:X  a0   SSKJn  U" U R
                  U R                  U R                  5        g U R                   S:X  a0   SSK	Jn  U" U R
                  U R                  U R                  5        g U R                   S:X  a0   SSK
Jn  U" U R
                  U R                  U R                  5        g U R                   S:X  a/  SSKJn  U" U R
                  U R                  U R                  5        g U R                   S	:X  a0   SS
KJn  U" U R
                  U R                  U R                  5        g U R                   S:X  a;   SSKJn  U" U R
                  U R                  U R                  U R"                  5        g U R                   S:X  a$  SSKJn  U" U R
                  U R                  5        g U R                   S:X  a$  SSKJn  U" U R
                  U R                  5        g U R                   S:X  a/  SSKJn  U" U R
                  U R                  U R                  5        g [1        S5      e! [         a    [        [        5      ef = f! [         a    [        [        5      ef = f! [         a    [        [        5      ef = f! [         a    [        [        5      ef = f! [         a    [        [        5      ef = f! [         a    [        [        5      ef = f)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_pytorchr4   ImportErrorIMPORT_ERROR_MESSAGEr+   r-   r,   :models.bert.convert_bert_original_tf_checkpoint_to_pytorch>models.funnel.convert_funnel_original_tf_checkpoint_to_pytorch6models.t5.convert_t5_original_tf_checkpoint_to_pytorch>models.openai.convert_openai_original_tf_checkpoint_to_pytorchr9   :models.gpt2.convert_gpt2_original_tf_checkpoint_to_pytorchr;   <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_pytorchrA   7models.rembert.convert_rembert_tf_checkpoint_to_pytorchrC   
ValueError)r/   r4   r9   r;   r=   r?   rA   rC   s           r   runConvertCommand.runU   s   x'8 -T-@-@$,,PTPiPij'8 -T-@-@$,,PTPiPij)8 -T-@-@$,,PTPiPij%8u -T-@-@$,,PTPiPij& 11D1DdllTXTmTmn'8 /t/B/BDLLRVRkRkl(8 0##T\\43L3LdNhNh & .d.A.A4C\C\]) 11D1DdF_F_`* 5T5H5H$,,X\XqXqrtuuU  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8sG   I= J J7 K K1 L =JJ47KK.1LL()r-   r.   r(   r*   r,   r+   N)__name__
__module____qualname____firstlineno__staticmethodr   r$   r!   r0   rQ   __static_attributes__ r   r   r   r   &   sZ    @N @ @6:: : !	:
 : ":$Pvr   r   N)
argparser   r   utilsr   r   r   r   rF   r   rY   r   r   <module>r\      s5    /  ()  v/ vr   