o
    1j
                     @   s,   d dl mZ ddlmZ G dd deZdS )   )BaseTrainer   )MODELSc                   @   s:   e Zd ZdZeZdd Zdd Zdd Zde	fd	d
Z
dS )BEVFusionTrainerz3D BEV Detection Model Trainerc                 C   s0   | j j| jj| jddd| jddd dS )zupdate dataset settingsZdatart_prefixTZNuscenesMMDatasetversionZmini)r   N)
pdx_configZupdate_datasetglobal_configZdataset_dirgetself r   k/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/modules/m_3d_bev_detection/trainer.py_update_dataset   s   
z BEVFusionTrainer._update_datasetc                 C   s   | j | jj| jj d S )N)r   Zupdate_pretrained_modelr   Zload_cam_fromZload_lidar_fromr
   r   r   r   _update_pretrained_model"   s   z)BEVFusionTrainer._update_pretrained_modelc                 C   s   |    |   | jjdur| j| jj | jjdur$| j| jj | jjdur7| j	| jj | jj n| j
  | jjdurL| j| jj dS dS )zupdate training configN)r   r   train_configZ
batch_sizer   Zupdate_batch_sizeZlearning_rateZupdate_learning_rateZepochs_itersZupdate_epochsZget_epochs_itersr   outputZupdate_save_dirr
   r   r   r   update_config'   s   

zBEVFusionTrainer.update_configreturnc                 C   sL   d|   i}| jdd|d< | jdd|d< | jjdur$| jj|d< |S )zget key-value arguments of model training function

        Returns:
            dict: the arguments of training function.
        ZdeviceZdy2stFampZOFFNsave_dir)Z
get_devicer   r	   r   r   )r   Z
train_argsr   r   r   get_train_kwargs8   s   z!BEVFusionTrainer.get_train_kwargsN)__name__
__module____qualname____doc__r   entitiesr   r   r   dictr   r   r   r   r   r      s    	r   N)baser   Z
model_listr   r   r   r   r   r   <module>   s   