o
    yqiu1                     @   s  d dl mZ ddlmZ G dd deZG dd deZG dd	 d	eZe Zd
dddddZ	di e	ddiidi e	ddiidi e	ddiidi e	ddiidi e	ddiidi e	ddiie	g dgde	g dgde	ddggde	g dgde	dggde	g dgde	g dgddZ
i ddhddhddhddhd dhd!dhd"d#hd$d%hd&d%hd'd%hd(h d)d*h d+d,h d-d.d%hd/h d0d1h d2d3h d4h d4h d4h d5h d6d%d7hd8Ze Zi d9dg d:d;d<d=d>gid?d=d>gid@dAdh dBdCdDdAddEdFdAddEdGdAddEdHdAddEdIdAddEdJdAddEdKd=d>dLgidMd>dNgh dOdPdQdRgdSdTdUdRgddTddVdWhiddVdWhiddVdWhii d dVdWhiddVdWhid!dVdWhid"dVdXhid.dVdYhid(dVh dZid,dVh d[id*dVh d[id/dVh d\id1dVh d]id3dVh d^id_dVh dBid`dVh d\idadVh d]idbdVdcdYhidddVdcdYhidedVdcdYhiZereZeeeZdhS eZedfdg e
ZdhS )i    )defaultdict   )USE_PIR_TRTc                       sD   e Zd Z fddZdd Z fddZ fddZd	d
 Z  ZS )LazyLoadDictc                    s   d| _ t j|i | d S )NF)_initializedsuper__init__)selfargskwargs	__class__ i/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/paddlex/inference/utils/trt_config.pyr      s   zLazyLoadDict.__init__c                 C   s"   | j s| |   d| _ d S d S )NT)r   update_loadr	   r   r   r   _initialize   s   
zLazyLoadDict._initializec                       |    t |S N)r   r   __getitem__r	   keyr   r   r   r         zLazyLoadDict.__getitem__c                    r   r   )r   r   __contains__r   r   r   r   r   "   r   zLazyLoadDict.__contains__c                 C   s   t r   )NotImplementedErrorr   r   r   r   r   &   s   zLazyLoadDict._load)	__name__
__module____qualname__r   r   r   r   r   __classcell__r   r   r   r   r      s    r   c                   @      e Zd Zdd ZdS )OLD_IR_TRT_PRECISION_MAP_CLASSc                 C      ddl m} |j|j|jdS )Nr   )PrecisionTypeZtrt_int8Ztrt_fp32Ztrt_fp16)Zpaddle.inferencer#   ZInt8ZFloat32ZHalf)r	   r#   r   r   r   r   +   
   z$OLD_IR_TRT_PRECISION_MAP_CLASS._loadNr   r   r   r   r   r   r   r   r!   *       r!   c                   @   r    )PIR_TRT_PRECISION_MAP_CLASSc                 C   r"   )Nr   )PrecisionModer$   )Zpaddle.tensorrt.exportr)   ZINT8ZFP32ZFP16)r	   r)   r   r   r   r   6   r%   z!PIR_TRT_PRECISION_MAP_CLASS._loadNr&   r   r   r   r   r(   5   r'   r(   i   @    TF)workspace_sizeZmax_batch_sizeZmin_subgraph_sizeZ
use_staticZuse_calib_modeenable_tensorrt_enginer+   l        )zlinear_0.tmp_0zlinear_4.tmp_0zlinear_12.tmp_0zlinear_16.tmp_0zlinear_24.tmp_0zlinear_28.tmp_0zlinear_36.tmp_0zlinear_40.tmp_0)r,   Zexp_disable_tensorrt_opszbilinear_interp_v2_1.tmp_0z"bilinear_interp_v2_1.tmp_0_slice_0)reshape2_3.tmp_0zreshape2_2.tmp_0zreshape2_1.tmp_0zreshape2_0.tmp_0reshape2_13.tmp_0)r-   zreshape2_5.tmp_0zreshape2_7.tmp_0zreshape2_9.tmp_0zreshape2_11.tmp_0r.   zreshape2_15.tmp_0zreshape2_17.tmp_0zreshape2_19.tmp_0zreshape2_28.tmp_0zreshape2_42.tmp_0zreshape2_47.tmp_0zlayer_norm_15.tmp_2zlayer_norm_13.tmp_2)conv2dfused_conv2d_add_actZswishZreduce_meansoftmax
layer_normZgelu)SegFormer-B0SegFormer-B1SegFormer-B2SegFormer-B3SegFormer-B4SegFormer-B5SLANeXt_wiredSLANeXt_wirelessPP-YOLOE_seg-SZTiDEZNonstationaryZch_SVTRv2_recPP-YOLOE_plus_SOD-largesize-LZConvNeXt_tinyr2   ZConvNeXt_smallZConvNeXt_base_224ZConvNeXt_large_224ZConvNeXt_base_384ZConvNeXt_large_384zPP-HGNetV2-B3r1   ZMobileNetV1_x0_5r0   ZSeaFormer_smallZSeaFormer_tinyzPP-OCRv4_mobile_seal_det>   r/   r0   r1   multiplyZPicoDet_LCNet_x2_5_face>   elementwise_mulmatrix_multiplyr0   r1   zPP-YOLOE_plus_SOD-S>   r>   r?   r/   r0   r1   zBlazeFace-FPN-SSHzPP-YOLOE_plus-S_face>   r/   r0   r=   zPP-ShiTuV2_det>   r?   r/   r0   depthwise_conv2dzRT-DETR-H_layout_3cls>   r>   r?   r0   elementwise_addr2   elementwise_div>   r>   r0   scalerA   >   r>   r0   rA   r@   rB   r/   )DETR-R50RT-DETR-R50YOLOX-MYOLOv3-MobileNetV3PP-OCRv4_server_detr<   )pd_op.conv2dpd_op.fused_conv2d_add_actzpd_op.swishz
pd_op.meanpd_op.softmaxpd_op.layer_normz
pd_op.gelu)r+   disable_opsr9   rM   zpd_op.slicer:   rD      >   rI   pd_op.matmulrJ   )optimization_levelr+   ops_run_floatr3   )rP   r+   r4   r5   r6   r7   r8   ZLaTeX_OCR_reczpd_op.reshaper;   zpd_op.bilinear_interp>   rJ   rI   zpd_op.conv2d_transposerO   )rM   rQ   zPP-FormulaNet-Lzpd_op.full_with_tensorl        )rM   r+   zPP-FormulaNet-SrQ   rL   rK   rJ   >   rK   pd_op.multiplyrI   rJ   >   rO   rI   rJ   rK   rR   >   rR   rI   rJ   >   pd_op.depthwise_conv2drI   rJ   >   rO   rI   zpd_op.batch_norm_rS   rJ   rE   rF   rG   rH   rI   zPP-OCRv4_server_seal_detzPP-YOLOE_plus-Mc                   C   s   dt iS )Nr,   )OLD_IR_TRT_CFG_DEFAULT_SETTINGr   r   r   r   <lambda>  s    rU   N)collectionsr   Zutils.flagsr   dictr   r!   r(   ZOLD_IR_TRT_PRECISION_MAPrT   ZOLD_IR_TRT_CFG_SETTINGZDISABLE_TRT_HALF_OPS_CONFIGZPIR_TRT_PRECISION_MAPZPIR_TRT_CFG_SETTINGZTRT_PRECISION_MAPZTRT_CFG_SETTINGr   r   r   r   <module>   s  
	 	
 &.J







$(
,
-
.
/
0
1
2
34<ENU\ehovy| 