§
    |-j‚  ã                   óN   — d dl Z d dlmZ ddlmZ ddlmZ  G d„ de¦  «        ZdS )	é    N)ÚPathé   )ÚBaseTraineré   )ÚMODELSc                   ó4   — e Zd ZdZeZdefd„Zd„ Zde	fd„Z
dS )ÚFormulaRecTrainerzText Recognition Model TrainerÚsrc_label_dict_pathc                 óˆ   — t          | j        j        ¦  «                             d¦  «        }t	          j        ||¦  «         dS )zzdump label dict config

        Args:
            src_label_dict_path (str): path to label dict file to be saved.
        zlabel_dict.txtN)r   Úglobal_configÚoutputÚjoinpathÚshutilÚcopyfile)Úselfr
   Údst_label_dict_paths      úk/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddlex/modules/formula_recognition/trainer.pyÚdump_label_dictz!FormulaRecTrainer.dump_label_dict   sA   € õ # 4Ô#5Ô#<Ñ=Ô=×FÒFÐGWÑXÔXÐÝŒÐ+Ð-@ÑAÔAÐAÐAÐAó    c                 óŠ  — | j         j        r$| j                             | j         j        ¦  «         | j         j        r$| j                             | j         j        ¦  «         | j         j        r$| j                             | j         j        ¦  «         | j        d         dk    r&| j         	                    | j        j
        d¦  «         n4| j        d         dv r%| j         	                    | j        j
        d¦  «         t          | j        j
        ¦  «                             d¦  «        }|                     ¦   «         r/| j                             |¦  «         |                      |¦  «         | j         j        r$| j                             | j         j        ¦  «         | j         j        ^| j        d         dk    r'| j                             | j         j        d¬	¦  «         n&| j                             | j         j        d¬	¦  «         | j        j        ^| j        d         dk    r'| j                             | j        j        d
¬	¦  «         n&| j                             | j        j        d
¬	¦  «         | j         j        $| j                             | j         j        ¦  «         | j                              dd¦  «        &| j                             | j         j        d¬	¦  «         | j                             dd¦  «        &| j                             | j        j        d
¬	¦  «         | j         j        $| j                             | j         j        ¦  «         | j         j        4| j         j        dk    r$| j                             | j         j        ¦  «         | j        j        &| j                              | j        j        ¦  «         dS dS )zupdate training configÚmodelÚLaTeX_OCR_recÚLaTeXOCRDataSet)Ú	UniMERNetzPP-FormulaNet-LzPP-FormulaNet-SzPP-FormulaNet_plus-LzPP-FormulaNet_plus-MzPP-FormulaNet_plus-SÚSimpleDataSetzdict.txtNÚtrain)ÚmodeÚevalÚ	delimiterÚ )!Útrain_configÚlog_intervalÚ
pdx_configÚupdate_log_intervalÚeval_intervalÚ_update_eval_interval_by_epochÚsave_intervalÚupdate_save_intervalr   Úupdate_datasetÚdataset_dirr   r   ÚexistsÚupdate_label_dict_pathr   Úpretrain_weight_pathÚupdate_pretrained_weightsÚ
batch_sizeÚupdate_batch_size_pairÚupdate_batch_sizeÚeval_configÚlearning_rateÚupdate_learning_rateÚgetÚupdate_delimiterr   Úepochs_itersÚ_update_epochsÚresume_pathÚ_update_checkpointsr   Ú_update_output_dir)r   Úlabel_dict_paths     r   Úupdate_configzFormulaRecTrainer.update_config%   sË  € àÔÔ)ð 	PØŒO×/Ò/°Ô0AÔ0NÑOÔOÐOØÔÔ*ð 	ØŒO×:Ò:ØÔ!Ô/ñô ð ð ÔÔ*ð 	RØŒO×0Ò0°Ô1BÔ1PÑQÔQÐQàÔ˜gÔ&¨/Ò9Ð9ØŒO×*Ò*ØÔ"Ô.Ð0Añô ð ð ð Ô Ô(ð -
ð 
ð 
ð ŒO×*Ò*ØÔ"Ô.°ñô ð õ ˜tÔ1Ô=Ñ>Ô>×GÒGÈ
ÑSÔSˆØ×!Ò!Ñ#Ô#ð 	2ØŒO×2Ò2°?ÑCÔCÐCØ× Ò  Ñ1Ô1Ð1àÔÔ1ð 	ØŒO×5Ò5ØÔ!Ô6ñô ð ð ÔÔ'Ð3ØÔ! 'Ô*¨oÒ=Ð=Ø”×6Ò6ØÔ%Ô0°wð 7ñ ô ð ð ð ”×1Ò1ØÔ%Ô0°wð 2ñ ô ð ð ÔÔ&Ð2ØÔ! 'Ô*¨oÒ=Ð=Ø”×6Ò6ØÔ$Ô/°fð 7ñ ô ð ð ð ”×1Ò1ØÔ$Ô/°fð 2ñ ô ð ð ÔÔ*Ð6ØŒO×0Ò0°Ô1BÔ1PÑQÔQÐQàÔ× Ò  ¨dÑ3Ô3Ð?ØŒO×,Ò,¨TÔ->Ô-HÈwÐ,ÑWÔWÐWàÔ×Ò ¨TÑ2Ô2Ð>ØŒO×,Ò,¨TÔ-=Ô-GÈfÐ,ÑUÔUÐUàÔÔ)Ð5ØŒO×*Ò*¨4Ô+<Ô+IÑJÔJÐJàÔÔ)Ð5ØÔ!Ô-°Ò3Ð3àŒO×/Ò/°Ô0AÔ0MÑNÔNÐNØÔÔ$Ð0ØŒO×.Ò.¨tÔ/AÔ/HÑIÔIÐIÐIÐIð 1Ð0r   Úreturnc                 ó–   — |                       ¦   «         | j                             dd¦  «        | j                             dd¦  «        dœS )zƒget key-value arguments of model training function

        Returns:
            dict: the arguments of training function.
        Údy2stFÚampÚOFF)Údevicer@   rA   )Ú
get_devicer!   r5   )r   s    r   Úget_train_kwargsz"FormulaRecTrainer.get_train_kwargsq   sL   € ð —o’oÑ'Ô'ØÔ&×*Ò*¨7°EÑ:Ô:ØÔ$×(Ò(¨°Ñ6Ô6ð
ð 
ð 	
r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚentitiesÚstrr   r=   ÚdictrE   © r   r   r	   r	      sp   € € € € € Ø(Ð(à€HðB°3ð Bð Bð Bð BðJJð JJð JJðX

 $ð 

ð 

ð 

ð 

ð 

ð 

r   r	   )r   Úpathlibr   Úbaser   Ú
model_listr   r	   rM   r   r   ú<module>rQ      s„   ðð  €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðd
ð d
ð d
ð d
ð d
˜ñ d
ô d
ð d
ð d
ð d
r   