Ë
    –\;jà  ã                   ó2   — d dl mZ ddlmZ  G d„ de«      Zy)é    )ÚLayeré   )ÚBaseQuanterc                   ó6   ‡ — e Zd ZdZ	 ddedefˆ fd„Zd„ Zˆ xZS )ÚObserveWrapperaµ  
    Put an observer layer and an observed layer into a wrapping layer.
    It is used to insert layers into the model for QAT or PTQ.
    Args:
        observer(BaseQuanter) - Observer layer
        observed(Layer) - Observed layer
        observe_input(bool) - If it is true the observer layer will be called before observed layer.
            If it is false the observed layer will be called before observer layer. Default: True.
    ÚobserverÚobservedc                 óL   •— t         ‰| �  «        || _        || _        || _        y ©N)ÚsuperÚ__init__Ú	_observerÚ	_observedÚ_observe_input)Úselfr   r	   Úobserve_inputÚ	__class__s       €údG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\paddle/quantization/wrapper.pyr   zObserveWrapper.__init__   s&   ø€ ô 	‰ÑÔØ!ˆŒØ!ˆŒØ+ˆÕó    c                 ó®   — | j                   r% | j                  |i |¤Ž} | j                  |fi |¤ŽS  | j                  |i |¤Ž} | j                  |fi |¤ŽS r   )r   r   r   )r   ÚinputsÚkwargsÚouts       r   ÚforwardzObserveWrapper.forward*   sa   € Ø×ÒØ �$—.‘. &Ð3¨FÑ3ˆCØ!�4—>‘> #Ñ0¨Ñ0Ð0à �$—.‘. &Ð3¨FÑ3ˆCØ!�4—>‘> #Ñ0¨Ñ0Ð0r   )T)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   Ú__classcell__)r   s   @r   r   r      s)   ø„ ñð ñ		,àð	,ð õ	,ö1r   r   N)Ú	paddle.nnr   Úbase_quanterr   r   © r   r   Ú<module>r#      s   ðõ å %ô1�Uõ 1r   