
    |-j                     F    d dl mZ ddlmZ ddlmZ  G d de          ZdS )	   )logging   )BaseTrainer   )MODELSc                   .    e Zd ZdZeZd Zd ZdefdZ	dS )
DetTrainerzObject Detection Model Trainerc                     d| j         v r| j         j        nd}d| j         j        v r| j         j        d         nd}| j                             | j        j        d||           dS )zupdate dataset settingsmetricCOCOdata_fieldsNCOCODetDataset)r   r   )
pdx_configr   TrainDatasetupdate_datasetglobal_configdataset_dir)selfr   r   s      h/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddlex/modules/object_detection/trainer.py_update_datasetzDetTrainer._update_dataset   s    +3t+F+F''F  <<< O(77 	 	&&*#	 	' 	
 	
 	
 	
 	
    c                    | j         j        r$| j                            | j         j                   | j         j        r$| j                            | j         j                   |                                  | j         j        $| j                            | j         j                   | j         j	        r4| j         j	        dk    r$| j        
                    | j         j	                   | j         j        $| j                            | j         j                   | j         j        $| j                            | j         j                   | j         j        1| j                            | j         j                   | j         j        }n| j                                        }| j         j        $| j                            | j         j                   | j        j        $| j                            | j        j                   d| j        j        v rpt1          t3          |dz            d          }	 | j                            |           dS # t6          $ r& t9          j        d| j        j         d           Y dS w xY wdS )zupdate training configN PicoDet
   r   z
The model(z1) don't support to update_static_assigner_epochs!)train_configlog_intervalr   update_log_intervaleval_intervalupdate_eval_intervalr   num_classesupdate_num_classpretrain_weight_pathupdate_pretrained_weights
batch_sizeupdate_batch_sizelearning_rateupdate_learning_rateepochs_itersupdate_epochsget_epochs_iterswarmup_stepsupdate_warmup_stepsr   outputupdate_save_dirmodelmaxintupdate_static_assigner_epochs	Exceptionr   info)r   r)   assigner_epochss      r   update_configzDetTrainer.update_config*   sf   ) 	PO//0A0NOOO* 	RO001B1PQQQ(4O,,T->-JKKK2	!6"<<O55!6   '3O--d.?.JKKK*6O001B1PQQQ)5O))$*;*HIII,9LL?;;==L)5O//0A0NOOO$0O++D,>,EFFF*000!#lR&7"8"8!<<O==oNNNNN   l!3!9lll     	 10s   *I ,I65I6returnc                     d|                                  i}| j        j        | j        j        dk    r| j        j        |d<   | j                            dd          |d<   | j                            dd          |d<   |S )	zget key-value arguments of model training function

        Returns:
            dict: the arguments of training function.
        deviceNr   resume_pathdy2stFampOFF)
get_devicer   r;   get)r   
train_argss     r   get_train_kwargszDetTrainer.get_train_kwargsS   s      1 12
)5!-33(,(9(EJ}%"/33GUCC
7 -11%??
5r   N)
__name__
__module____qualname____doc__r   entitiesr   r7   dictrB    r   r   r	   r	      sY        ((H
 
 
 ' ' 'R$      r   r	   N)utilsr   baser   
model_listr   r	   rI   r   r   <module>rM      s{                      M M M M M M M M M Mr   