§
    |-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 )Ú
ClsTrainerz"Image Classification 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      úl/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddlex/modules/image_classification/trainer.pyÚdump_label_dictzClsTrainer.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                             | j	        j
        d¦  «         | j         j        $| j                             | j         j        ¦  «         | j         j        dk    r$| j                             | j         j        ¦  «         t          | j	        j
        ¦  «                             d¦  «        }|                     ¦   «         r|                      |¦  «         | j         j        $| j                             | j         j        ¦  «         | j         j        $| j                             | j         j        ¦  «         | j         j        $| j                             | j         j        ¦  «         | j         j        $| j                             | j         j        ¦  «         | j	        j        &| j                             | j	        j        ¦  «         dS dS )zupdate training configÚ
ClsDatasetNÚ z	label.txt)Útrain_configÚlog_intervalÚ
pdx_configÚupdate_log_intervalÚeval_intervalÚupdate_eval_intervalÚsave_intervalÚupdate_save_intervalÚupdate_datasetr   Údataset_dirÚnum_classesÚupdate_num_classesÚpretrain_weight_pathÚupdate_pretrained_weightsr   r   Úexistsr   Ú
batch_sizeÚupdate_batch_sizeÚlearning_rateÚupdate_learning_rateÚepochs_itersÚ_update_epochsÚwarmup_stepsÚupdate_warmup_epochsr   Ú_update_output_dir)r   Úlabel_dict_paths     r   Úupdate_configzClsTrainer.update_config$   s  € àÔÔ)ð 	PØŒO×/Ò/°Ô0AÔ0NÑOÔOÐOØÔÔ*ð 	RØŒO×0Ò0°Ô1BÔ1PÑQÔQÐQØÔÔ*ð 	RØŒO×0Ò0°Ô1BÔ1PÑQÔQÐQàŒ×&Ò& tÔ'9Ô'EÀ|ÑTÔTÐTØÔÔ(Ð4ØŒO×.Ò.¨tÔ/@Ô/LÑMÔMÐMØÔÔ1°RÒ7Ð7ØŒO×5Ò5ØÔ!Ô6ñô ð õ ˜tÔ1Ô=Ñ>Ô>×GÒGÈÑTÔTˆØ×!Ò!Ñ#Ô#ð 	2Ø× Ò  Ñ1Ô1Ð1ØÔÔ'Ð3ØŒO×-Ò-¨dÔ.?Ô.JÑKÔKÐKØÔÔ*Ð6ØŒO×0Ò0°Ô1BÔ1PÑQÔQÐQØÔÔ)Ð5ØŒO×*Ò*¨4Ô+<Ô+IÑJÔJÐJØÔÔ)Ð5ØŒO×0Ò0°Ô1BÔ1OÑPÔPÐPØÔÔ$Ð0ØŒO×.Ò.¨tÔ/AÔ/HÑIÔIÐIÐIÐIð 1Ð0r   Úreturnc                 ó   — d|                       ¦   «         i}| j        j        | j        j        dk    r| j        j        |d<   | j                             dd¦  «        |d<   | j                             dd¦  «        |d<   |S )	zƒget key-value arguments of model training function

        Returns:
            dict: the arguments of training function.
        ÚdeviceNr   Úresume_pathÚdy2stFÚampÚOFF)Ú
get_devicer   r6   Úget)r   Ú
train_argss     r   Úget_train_kwargszClsTrainer.get_train_kwargsC   s…   € ð  §¢Ñ 1Ô 1Ð2ˆ
àÔÔ)Ð5ØÔ!Ô-°Ò3Ð3à(,Ô(9Ô(EˆJ}Ñ%Ø"Ô/×3Ò3°G¸UÑCÔCˆ
7Ñà Ô-×1Ò1°%¸Ñ?Ô?ˆ
5ÑØÐr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚentitiesÚstrr   r2   Údictr=   © r   r   r	   r	      sl   € € € € € Ø,Ð,à€HðB°3ð Bð Bð Bð BðJð Jð Jð> $ð ð ð ð ð ð r   r	   )r   Úpathlibr   Úbaser   Ú
model_listr   r	   rE   r   r   ú<module>rI      sz   ðð €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð<ð <ð <ð <ð <ñ <ô <ð <ð <ð <r   