
    Ng                     Z    d dl mZmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 	 	 d
dZ	 	 d
d	ZdS )   )EfficientDetHeadNet)DetBenchTrainDetBenchPredict)get_efficientdet_config)load_pretrainedload_checkpoint NFc           	      F    t          |           }t          |f|||||d|S )N)
bench_tasknum_classes
pretrainedcheckpoint_pathcheckpoint_ema)r   create_model_from_config)
model_namer   r   r   r   r   kwargsconfigs           J/var/www/html/ai-engine/env/lib/python3.11/site-packages/effdet/factory.pycreate_modelr      sJ     %Z00F#R%;:'R RJPR R R    c                    |                     dd          }|s|rd}d}|D ]+}	|                     |	d           }
|
t          | |	|
           ,|                     dd          }t          | fd|i|}|rt          || j                   |!|| j        k    r|                    |           |rt          |||           |dk    rt          ||	          }n|d
k    rt          |          }|S )Npretrained_backboneTF)redundant_biaslabel_smoothinglegacy_focaljit_losssoft_nmsmax_det_per_image
image_sizebench_labeler)r   )use_ematrain)create_labelerpredict)
popsetattrr   r   urlr   
reset_headr	   r   r   )r   r   r   r   r   r   r   r   	overridesovvaluelabelermodels                r   r   r      sG    !**%:DAA $_ $#xI ' '

2t$$FB&&&jj%00G SS5HSFSSE  +vz*** ;&2D#D#D[111  HGGGG WeG<<<	y	 	 &&Lr   )r
   NFr
   F)efficientdetr   r   benchr   r   r   r   helpersr   r	   r   r    r   r   <module>r3      s    / / / / / / / / 1 1 1 1 1 1 1 1 + + + + + + 5 5 5 5 5 5 5 5 AF+0R R R R =B+0& & & & & &r   