§
    Ý˜ºh˜  ã                   óZ   — 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	dS )é    )ÚArgumentParserÚ	Namespaceé   )Úloggingé   )ÚBaseTransformersCLICommandÚargsc                 óZ   — 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    úe/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/transformers/commands/convert.pyÚconvert_command_factoryr      s/   € õ ØŒ˜Ô+¨TÔ-EÀtÄ{ÐTXÔ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            
       óL   — 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d
S )r   Úparserc                 ó–  — |                       dd¬¦  «        }|                     dt          dd¬¦  «         |                     dt          dd	¬¦  «         |                     d
t          dd¬¦  «         |                     dt          dd¬¦  «         |                     dt          dd¬¦  «         |                     t          ¬¦  «         dS )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ÔnÐnØ×!Ò!Ø$ÝØØXð	 	"ñ 	
ô 	
ð 	
ð 	×!Ò!Õ'>Ð!Ñ?Ô?Ð?Ð?Ð?r   r   r   r   r   r   c                 ó¸   — t          j        d¦  «        | _        | j                             d|› �¦  «         || _        || _        || _        || _        || _        d S )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__zConvertCommand.__init__C   sc   € õ Ô)Ð*CÑDÔDˆŒàŒ×ÒÐ7¨:Ð7Ð7Ñ8Ô8Ð8Ø%ˆÔØ+ˆÔØ$7ˆÔ!ØˆŒØ%9ˆÔ"Ð"Ð"r   c                 óp  — | j         dk    rH	 ddlm} n"# t          $ r t          t          ¦  «        ‚w xY w || j        | j        | j        ¦  «         d S | j         dk    rH	 ddlm} n"# t          $ r t          t          ¦  «        ‚w xY w || j        | j        | j        ¦  «         d S | j         dk    rH	 ddl	m} n"# t          $ r t          t          ¦  «        ‚w xY w || j        | j        | j        ¦  «         d S | j         dk    rH	 ddl
m} n"# t          $ r t          t          ¦  «        ‚w xY w || j        | j        | j        ¦  «         d S | j         dk    r$ddlm}  || j        | j        | j        ¦  «         d S | j         d	k    rH	 dd
lm} n"# t          $ r t          t          ¦  «        ‚w xY w || j        | j        | j        ¦  «         d S | j         dk    rN	 ddlm} n"# t          $ r t          t          ¦  «        ‚w xY w || j        | j        | j        | j        ¦  «         d S | j         dk    rddlm}  || j        | j        ¦  «         d S | j         dk    rddlm}  || j        | j        ¦  «         d S | j         dk    r$ddlm}  || j        | j        | j        ¦  «         d S t1          d¦  «        ‚)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ðð ð ð ð ð ð øõ ð 8ð 8ð 8Ý!Õ"6Ñ7Ô7Ð7ð8øøøð -Ð,¨TÔ-@À$Ä,ÐPTÔPiÑjÔjÐjÐjÐjØÔ Ò'Ð'ð8ðð ð ð ð ð ð øõ ð 8ð 8ð 8Ý!Õ"6Ñ7Ô7Ð7ð8øøøð -Ð,¨TÔ-@À$Ä,ÐPTÔPiÑjÔjÐjÐjÐjØÔ Ò)Ð)ð8ðð ð ð ð ð ð øõ ð 8ð 8ð 8Ý!Õ"6Ñ7Ô7Ð7ð8øøøð -Ð,¨TÔ-@À$Ä,ÐPTÔPiÑjÔjÐjÐjÐjØÔ Ò%Ð%ð8ØuÐuÐuÐuÐuÐuÐuøÝð 8ð 8ð 8Ý!Õ"6Ñ7Ô7Ð7ð8øøøð -Ð,¨TÔ-@À$Ä,ÐPTÔPiÑjÔjÐjÐjÐjØÔ Ò&Ð&ðð ð ð ð ð ð 1Ð0°Ô1DÀdÄlÐTXÔTmÑnÔnÐnÐnÐnØÔ Ò'Ð'ð8ðð ð ð ð ð ð øõ ð 8ð 8ð 8Ý!Õ"6Ñ7Ô7Ð7ð8øøøð /Ð.¨tÔ/BÀDÄLÐRVÔRkÑlÔlÐlÐlÐlØÔ Ò(Ð(ð8ðð ð ð ð ð ð øõ ð 8ð 8ð 8Ý!Õ"6Ñ7Ô7Ð7ð8øøøð 0Ð/ØÔ# T¤\°4Ô3LÈdÔNhñô ð ð ð ð Ô Ò&Ð&ðð ð ð ð ð ð .Ð-¨dÔ.AÀ4ÔC\Ñ]Ô]Ð]Ð]Ð]ØÔ Ò)Ð)ðð ð ð ð ð ð 1Ð0°Ô1DÀdÔF_Ñ`Ô`Ð`Ð`Ð`ØÔ Ò*Ð*ðð ð ð ð ð ð 5Ð4°TÔ5HÈ$Ì,ÐX\ÔXqÑrÔrÐrÐrÐråÐtÑuÔuÐusD   � ”3Á A' Á'BÂ3B: Â:CÄD ÄD,ÆF ÆF.ÇG" Ç"HN)	Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   r#   r    r.   rN   © r   r   r   r   &   s›   € € € € € Øð@ Nð @ð @ð @ñ „\ð@ð6:àð:ð ð:ð !ð	:ð
 ð:ð "ð:ð :ð :ð :ð$Pvð Pvð Pvð Pvð Pvr   r   N)
Úargparser   r   Úutilsr   r   r   r   rC   r   rS   r   r   ú<module>rV      s¯   ðð /Ð .Ð .Ð .Ð .Ð .Ð .Ð .à Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (ð )ð ð ð ð ðÐ ðvð vð vð vð vÐ/ñ vô vð vð vð vr   