
    kh                     X    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y)	   )EfficientDetHeadNet)DetBenchTrainDetBenchPredict)get_efficientdet_config)load_pretrainedload_checkpointNc           	      <    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/teggl/fontify/venv/lib/python3.12/site-packages/effdet/factory.pycreate_modelr      s;     %Z0F#R%;:'RJPR R    c                    |j                  dd      }|s|rd}d}|D ]$  }	|j                  |	d       }
|
t        | |	|
       & |j                  dd      }t        | fd|i|}|rt        || j                         |!|| j
                  k7  r|j                  |       |rt        |||       |dk(  rt        ||	      }|S |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      s    !**%:DA_#xI '

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