§
    ‚Štj¼6  ã                   ón  — d Z ddlZddlZddlmZmZ ddlmZ ddlm	Z	 ddl
mZmZmZ ddlmZ dd	lmZmZ d
dlmZ  ej        e¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z e G d„ de¦  «        ¦   «         Z!e G d„ de!¦  «        ¦   «         Z" ed ¬!¦  «         G d"„ d#e!¦  «        ¦   «         Z#g d$¢Z$dS )%zPyTorch RegNet model.é    N)ÚTensorÚnné   )Úinitialization)ÚACT2FN)ÚBaseModelOutputWithNoAttentionÚ(BaseModelOutputWithPoolingAndNoAttentionÚ$ImageClassifierOutputWithNoAttention)ÚPreTrainedModel)Úauto_docstringÚloggingé   )ÚRegNetConfigc                   óN   ‡ — e Zd Z	 	 	 	 ddededededed	ed
z  fˆ fd„Zd„ Zˆ xZS )ÚRegNetConvLayerr   r   ÚreluÚin_channelsÚout_channelsÚkernel_sizeÚstrideÚgroupsÚ
activationNc           	      ó  •— t          ¦   «                              ¦   «          t          j        |||||dz  |d¬¦  «        | _        t          j        |¦  «        | _        |�t          |         nt          j        ¦   «         | _	        d S )Né   F)r   r   Úpaddingr   Úbias)
ÚsuperÚ__init__r   ÚConv2dÚconvolutionÚBatchNorm2dÚnormalizationr   ÚIdentityr   )Úselfr   r   r   r   r   r   Ú	__class__s          €úh/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/regnet/modeling_regnet.pyr   zRegNetConvLayer.__init__%   s‚   ø€ õ 	‰Œ×ÒÑÔÐÝœ9ØØØ#ØØ 1Ñ$ØØð
ñ 
ô 
ˆÔõ  œ^¨LÑ9Ô9ˆÔØ0:Ð0F�& Ô,Ð,ÍBÌKÉMÌMˆŒˆˆó    c                 ó„   — |                       |¦  «        }|                      |¦  «        }|                      |¦  «        }|S ©N)r    r"   r   ©r$   Úhidden_states     r&   ÚforwardzRegNetConvLayer.forward;   s?   € Ø×'Ò'¨Ñ5Ô5ˆØ×)Ò)¨,Ñ7Ô7ˆØ—’ |Ñ4Ô4ˆØÐr'   )r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__ÚintÚstrr   r,   Ú__classcell__©r%   s   @r&   r   r   $   sª   ø€ € € € € ð
 ØØØ!'ðZð ZàðZð ðZð ð	Zð
 ðZð ðZð ˜$‘JðZð Zð Zð Zð Zð Zð,ð ð ð ð ð ð r'   r   c                   ó.   ‡ — e Zd ZdZdefˆ fd„Zd„ Zˆ xZS )ÚRegNetEmbeddingszO
    RegNet Embeddings (stem) composed of a single aggressive convolution.
    Úconfigc                 ó°   •— t          ¦   «                              ¦   «          t          |j        |j        dd|j        ¬¦  «        | _        |j        | _        d S )Nr   r   )r   r   r   )r   r   r   Únum_channelsÚembedding_sizeÚ
hidden_actÚembedder©r$   r6   r%   s     €r&   r   zRegNetEmbeddings.__init__G   sW   ø€ Ý‰Œ×ÒÑÔÐÝ'ØÔ Ô!6ÀAÈaÐ\bÔ\mð
ñ 
ô 
ˆŒð #Ô/ˆÔÐÐr'   c                 ó~   — |j         d         }|| j        k    rt          d¦  «        ‚|                      |¦  «        }|S )Nr   zeMake sure that the channel dimension of the pixel values match with the one set in the configuration.)Úshaper8   Ú
ValueErrorr;   )r$   Úpixel_valuesr8   r+   s       r&   r,   zRegNetEmbeddings.forwardN   sK   € Ø#Ô)¨!Ô,ˆØ˜4Ô,Ò,Ð,ÝØwñô ð ð —}’} \Ñ2Ô2ˆØÐr'   )r-   r.   r/   Ú__doc__r   r   r,   r2   r3   s   @r&   r5   r5   B   s]   ø€ € € € € ðð ð0˜|ð 0ð 0ð 0ð 0ð 0ð 0ðð ð ð ð ð ð r'   r5   c                   óB   ‡ — e Zd ZdZd
dededefˆ fd„Zdedefd	„Zˆ xZS )ÚRegNetShortCutzž
    RegNet shortcut, used to project the residual features to the correct size. If needed, it is also used to
    downsample the input using `stride=2`.
    r   r   r   r   c                 ó¶   •— t          ¦   «                              ¦   «          t          j        ||d|d¬¦  «        | _        t          j        |¦  «        | _        d S )Nr   F)r   r   r   )r   r   r   r   r    r!   r"   )r$   r   r   r   r%   s       €r&   r   zRegNetShortCut.__init___   sP   ø€ Ý‰Œ×ÒÑÔÐÝœ9 [°,ÈAÐV\ÐchÐiÑiÔiˆÔÝœ^¨LÑ9Ô9ˆÔÐÐr'   ÚinputÚreturnc                 óZ   — |                       |¦  «        }|                      |¦  «        }|S r)   )r    r"   )r$   rE   r+   s      r&   r,   zRegNetShortCut.forwardd   s.   € Ø×'Ò'¨Ñ.Ô.ˆØ×)Ò)¨,Ñ7Ô7ˆØÐr'   )r   )	r-   r.   r/   rA   r0   r   r   r,   r2   r3   s   @r&   rC   rC   Y   sƒ   ø€ € € € € ðð ð
:ð : Cð :°sð :ÀCð :ð :ð :ð :ð :ð :ð
˜Vð ¨ð ð ð ð ð ð ð ð r'   rC   c                   ó2   ‡ — e Zd ZdZdedefˆ fd„Zd„ Zˆ xZS )ÚRegNetSELayerz„
    Squeeze and Excitation layer (SE) proposed in [Squeeze-and-Excitation Networks](https://huggingface.co/papers/1709.01507).
    r   Úreduced_channelsc           	      óJ  •— t          ¦   «                              ¦   «          t          j        d¦  «        | _        t          j        t          j        ||d¬¦  «        t          j        ¦   «         t          j        ||d¬¦  «        t          j        ¦   «         ¦  «        | _	        d S )N©r   r   r   )r   )
r   r   r   ÚAdaptiveAvgPool2dÚpoolerÚ
Sequentialr   ÚReLUÚSigmoidÚ	attention)r$   r   rJ   r%   s      €r&   r   zRegNetSELayer.__init__o   s~   ø€ Ý‰Œ×ÒÑÔÐåÔ*¨6Ñ2Ô2ˆŒÝœÝŒI�kÐ#3ÀÐCÑCÔCÝŒG‰IŒIÝŒIÐ&¨ÀÐCÑCÔCÝŒJ‰LŒLñ	
ô 
ˆŒˆˆr'   c                 ód   — |                       |¦  «        }|                      |¦  «        }||z  }|S r)   )rN   rR   )r$   r+   ÚpooledrR   s       r&   r,   zRegNetSELayer.forwardz   s4   € à—’˜\Ñ*Ô*ˆØ—N’N 6Ñ*Ô*ˆ	Ø# iÑ/ˆØÐr'   )r-   r.   r/   rA   r0   r   r,   r2   r3   s   @r&   rI   rI   j   sd   ø€ € € € € ðð ð	
 Cð 	
¸3ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ðð ð ð ð ð ð r'   rI   c            	       ó<   ‡ — e Zd ZdZd	dedededefˆ fd„Zd„ Zˆ xZS )
ÚRegNetXLayerzt
    RegNet's layer composed by three `3x3` convolutions, same as a ResNet bottleneck layer with reduction = 1.
    r   r6   r   r   r   c           
      óÈ  •— t          ¦   «                              ¦   «          ||k    p|dk    }t          d||j        z  ¦  «        }|rt	          |||¬¦  «        nt          j        ¦   «         | _        t          j        t          ||d|j
        ¬¦  «        t          |||||j
        ¬¦  «        t          ||dd ¬¦  «        ¦  «        | _        t          |j
                 | _        d S )Nr   ©r   ©r   r   ©r   r   r   )r   r   ÚmaxÚgroups_widthrC   r   r#   ÚshortcutrO   r   r:   Úlayerr   r   ©r$   r6   r   r   r   Úshould_apply_shortcutr   r%   s          €r&   r   zRegNetXLayer.__init__‡   sâ   ø€ Ý‰Œ×ÒÑÔÐØ +¨|Ò ;Ð J¸vÈº{ÐÝ�Q˜¨Ô(;Ñ;Ñ<Ô<ˆàH]Ðp�N˜;¨¸VÐDÑDÔDÐDÕceÔcnÑcpÔcpð 	Œõ ”]Ý˜K¨À1ÐQWÔQbÐcÑcÔcÝ˜L¨,¸vÈfÐagÔarÐsÑsÔsÝ˜L¨,ÀAÐRVÐWÑWÔWñ
ô 
ˆŒ
õ
 ! Ô!2Ô3ˆŒˆˆr'   c                 ó’   — |}|                       |¦  «        }|                      |¦  «        }||z  }|                      |¦  «        }|S r)   ©r^   r]   r   ©r$   r+   Úresiduals      r&   r,   zRegNetXLayer.forward•   óJ   € ØˆØ—z’z ,Ñ/Ô/ˆØ—=’= Ñ*Ô*ˆØ˜Ñ ˆØ—’ |Ñ4Ô4ˆØÐr'   ©r   ©	r-   r.   r/   rA   r   r0   r   r,   r2   r3   s   @r&   rV   rV   ‚   sx   ø€ € € € € ðð ð4ð 4˜|ð 4¸#ð 4ÈSð 4ÐZ]ð 4ð 4ð 4ð 4ð 4ð 4ðð ð ð ð ð ð r'   rV   c            	       ó<   ‡ — e Zd ZdZd	dedededefˆ fd„Zd„ Zˆ xZS )
ÚRegNetYLayerzC
    RegNet's Y layer: an X layer with Squeeze and Excitation.
    r   r6   r   r   r   c                 ó"  •— t          ¦   «                              ¦   «          ||k    p|dk    }t          d||j        z  ¦  «        }|rt	          |||¬¦  «        nt          j        ¦   «         | _        t          j        t          ||d|j
        ¬¦  «        t          |||||j
        ¬¦  «        t          |t          t          |dz  ¦  «        ¦  «        ¬¦  «        t          ||dd ¬¦  «        ¦  «        | _        t          |j
                 | _        d S )Nr   rX   rY   rZ   é   )rJ   )r   r   r[   r\   rC   r   r#   r]   rO   r   r:   rI   r0   Úroundr^   r   r   r_   s          €r&   r   zRegNetYLayer.__init__£   s  ø€ Ý‰Œ×ÒÑÔÐØ +¨|Ò ;Ð J¸vÈº{ÐÝ�Q˜¨Ô(;Ñ;Ñ<Ô<ˆàH]Ðp�N˜;¨¸VÐDÑDÔDÐDÕceÔcnÑcpÔcpð 	Œõ ”]Ý˜K¨À1ÐQWÔQbÐcÑcÔcÝ˜L¨,¸vÈfÐagÔarÐsÑsÔsÝ˜,½½UÀ;ÐQRÁ?Ñ=SÔ=SÑ9TÔ9TÐUÑUÔUÝ˜L¨,ÀAÐRVÐWÑWÔWñ	
ô 
ˆŒ
õ ! Ô!2Ô3ˆŒˆˆr'   c                 ó’   — |}|                       |¦  «        }|                      |¦  «        }||z  }|                      |¦  «        }|S r)   rb   rc   s      r&   r,   zRegNetYLayer.forward²   re   r'   rf   rg   r3   s   @r&   ri   ri   ž   sx   ø€ € € € € ðð ð4ð 4˜|ð 4¸#ð 4ÈSð 4ÐZ]ð 4ð 4ð 4ð 4ð 4ð 4ðð ð ð ð ð ð r'   ri   c                   óD   ‡ — e Zd ZdZ	 	 d
dededededef
ˆ fd„Zd	„ Zˆ xZS )ÚRegNetStagez4
    A RegNet stage composed by stacked layers.
    r   r6   r   r   r   Údepthc                 ó  •‡‡‡— t          ¦   «                              ¦   «          ‰j        dk    rt          nt          Št          j         ‰‰|‰|¬¦  «        gˆˆˆfd„t          |dz
  ¦  «        D ¦   «         ¢R Ž | _        d S )NÚxrX   c                 ó*   •— g | ]} ‰‰‰‰¦  «        ‘ŒS © rt   )Ú.0Ú_r6   r^   r   s     €€€r&   ú
<listcomp>z(RegNetStage.__init__.<locals>.<listcomp>Ô   s'   ø€ ÐRÐRÐR¸Aˆeˆe�F˜L¨,Ñ7Ô7ÐRÐRÐRr'   r   )	r   r   Ú
layer_typerV   ri   r   rO   ÚrangeÚlayers)r$   r6   r   r   r   rp   r^   r%   s    ` `  @€r&   r   zRegNetStage.__init__À   s¡   øøøø€ õ 	‰Œ×ÒÑÔÐà &Ô 1°SÒ 8Ð 8•�½lˆå”màˆEØØØØð	ñ ô ð	
ð SÐRÐRÐRÐRÐRÅÀuÈqÁyÑAQÔAQÐRÑRÔRð	
ð 	
ð 	
ˆŒˆˆr'   c                 ó0   — |                       |¦  «        }|S r)   )rz   r*   s     r&   r,   zRegNetStage.forward×   s   € Ø—{’{ <Ñ0Ô0ˆØÐr'   )r   r   rg   r3   s   @r&   ro   ro   »   s“   ø€ € € € € ðð ð Øð
ð 
àð
ð ð
ð ð	
ð
 ð
ð ð
ð 
ð 
ð 
ð 
ð 
ð.ð ð ð ð ð ð r'   ro   c            	       ó@   ‡ — e Zd Zdefˆ fd„Z	 d
dedededefd	„Zˆ xZ	S )ÚRegNetEncoderr6   c           
      ó   •— t          ¦   «                              ¦   «          t          j        g ¦  «        | _        | j                             t          ||j        |j        d         |j	        rdnd|j
        d         ¬¦  «        ¦  «         t          |j        |j        dd …         ¦  «        }t          ||j
        dd …         ¦  «        D ]3\  \  }}}| j                             t          ||||¬¦  «        ¦  «         Œ4d S )Nr   r   r   )r   rp   )rp   )r   r   r   Ú
ModuleListÚstagesÚappendro   r9   Úhidden_sizesÚdownsample_in_first_stageÚdepthsÚzip)r$   r6   Úin_out_channelsr   r   rp   r%   s         €r&   r   zRegNetEncoder.__init__Ý   s  ø€ Ý‰Œ×ÒÑÔÐÝ”m BÑ'Ô'ˆŒàŒ×ÒÝØØÔ%ØÔ# AÔ&Ø"Ô<ÐC�q�qÀ!Ø”m AÔ&ðñ ô ñ	
ô 	
ð 	
õ ˜fÔ1°6Ô3FÀqÀrÀrÔ3JÑKÔKˆÝ25°oÀvÄ}ÐUVÐUWÐUWÔGXÑ2YÔ2Yð 	\ð 	\Ñ.Ñ'ˆ[˜,¨ØŒK×Ò�{¨6°;ÀÐTYÐZÑZÔZÑ[Ô[Ð[Ð[ð	\ð 	\r'   FTr+   Úoutput_hidden_statesÚreturn_dictrF   c                 ó´   — |rdnd }| j         D ]}|r||fz   } ||¦  «        }Œ|r||fz   }|st          d„ ||fD ¦   «         ¦  «        S t          ||¬¦  «        S )Nrt   c              3   ó   K  — | ]}|®|V — Œ	d S r)   rt   )ru   Úvs     r&   ú	<genexpr>z(RegNetEncoder.forward.<locals>.<genexpr>ý   s"   è è € ÐSÐS˜qÀQÀ]˜À]À]À]À]ÐSÐSr'   )Úlast_hidden_stateÚhidden_states)r€   Útupler   )r$   r+   r‡   rˆ   rŽ   Ústage_modules         r&   r,   zRegNetEncoder.forwardî   sœ   € ð 3Ð<˜˜¸ˆà œKð 	6ð 	6ˆLØ#ð @Ø -°°Ñ ?�à'˜<¨Ñ5Ô5ˆLˆLàð 	<Ø)¨\¨OÑ;ˆMàð 	TÝÐSÐS \°=Ð$AÐSÑSÔSÑSÔSÐSå-ÀÐ\iÐjÑjÔjÐjr'   )FT)
r-   r.   r/   r   r   r   Úboolr   r,   r2   r3   s   @r&   r}   r}   Ü   s˜   ø€ € € € € ð\˜|ð \ð \ð \ð \ð \ð \ð$ ]aðkð kØ"ðkØ:>ðkØUYðkà	'ðkð kð kð kð kð kð kð kr'   r}   c                   ób   ‡ — e Zd ZU eed<   dZdZdgZ ej	        ¦   «         ˆ fd„¦   «         Z
ˆ xZS )ÚRegNetPreTrainedModelr6   Úregnetr@   ri   c                 ó,  •— t          |t          j        ¦  «        rt          j        |j        dd¬¦  «         d S t          |t          j        ¦  «        rŸt          j        |j        t          j	        d¦  «        ¬¦  «         |j
        �it          j        j                             |j        ¦  «        \  }}|dk    rdt          j	        |¦  «        z  nd}t          j        |j
        | |¦  «         d S d S t          ¦   «                              |¦  «         d S )NÚfan_outr   )ÚmodeÚnonlinearityé   )Úar   r   )Ú
isinstancer   r   ÚinitÚkaiming_normal_ÚweightÚLinearÚkaiming_uniform_ÚmathÚsqrtr   ÚtorchÚ_calculate_fan_in_and_fan_outÚuniform_r   Ú_init_weights)r$   ÚmoduleÚfan_inrv   Úboundr%   s        €r&   r¦   z#RegNetPreTrainedModel._init_weights	  s÷   ø€ å�f�bœiÑ(Ô(ð 
	*ÝÔ  ¤°YÈVÐTÑTÔTÐTÐTÐTå˜¥¤	Ñ*Ô*ð 	*ÝÔ! &¤-µ4´9¸Q±<´<Ð@Ñ@Ô@Ð@ØŒ{Ð&Ý!œHœM×GÒGÈÌÑVÔV‘	�˜Ø17¸!²°˜�DœI fÑ-Ô-Ñ-Ð-À�Ý”˜fœk¨E¨6°5Ñ9Ô9Ð9Ð9Ð9ð 'Ð&õ
 ‰GŒG×!Ò! &Ñ)Ô)Ð)Ð)Ð)r'   )r-   r.   r/   r   Ú__annotations__Úbase_model_prefixÚmain_input_nameÚ_no_split_modulesr£   Úno_gradr¦   r2   r3   s   @r&   r“   r“     sl   ø€ € € € € € àÐÐÑØ ÐØ$€OØ'Ð(Ðà€U„]�_„_ð*ð *ð *ð *ñ „_ð*ð *ð *ð *ð *r'   r“   c            
       óX   ‡ — e Zd Zˆ fd„Ze	 	 ddededz  dedz  defd„¦   «         Zˆ xZ	S )	ÚRegNetModelc                 ó  •— t          ¦   «                              |¦  «         || _        t          |¦  «        | _        t          |¦  «        | _        t          j        d¦  «        | _	        |  
                    ¦   «          d S )NrL   )r   r   r6   r5   r;   r}   Úencoderr   rM   rN   Ú	post_initr<   s     €r&   r   zRegNetModel.__init__  sh   ø€ Ý‰Œ×Ò˜Ñ Ô Ð ØˆŒÝ(¨Ñ0Ô0ˆŒÝ$ VÑ,Ô,ˆŒÝÔ*¨6Ñ2Ô2ˆŒà�ŠÑÔÐÐÐr'   Nr@   r‡   rˆ   rF   c                 ó&  — |�|n| j         j        }|�|n| j         j        }|                      |¦  «        }|                      |||¬¦  «        }|d         }|                      |¦  «        }|s||f|dd …         z   S t          |||j        ¬¦  «        S )N©r‡   rˆ   r   r   )r�   Úpooler_outputrŽ   )r6   r‡   rˆ   r;   r²   rN   r	   rŽ   )	r$   r@   r‡   rˆ   ÚkwargsÚembedding_outputÚencoder_outputsr�   Úpooled_outputs	            r&   r,   zRegNetModel.forward$  sÈ   € ð %9Ð$DÐ Ð È$Ì+ÔJjð 	ð &1Ð%<�k�kÀ$Ä+ÔBYˆàŸ=š=¨Ñ6Ô6ÐàŸ,š,ØÐ3GÐU`ð 'ñ 
ô 
ˆð ,¨AÔ.ÐàŸšÐ$5Ñ6Ô6ˆàð 	LØ% }Ð5¸ÈÈÈÔ8KÑKÐKå7Ø/Ø'Ø)Ô7ð
ñ 
ô 
ð 	
r'   )NN)
r-   r.   r/   r   r   r   r‘   r	   r,   r2   r3   s   @r&   r°   r°     s“   ø€ € € € € ðð ð ð ð ð ð -1Ø#'ð	
ð 
àð
ð # T™kð
ð ˜D‘[ð	
ð 
2ð
ð 
ð 
ñ „^ð
ð 
ð 
ð 
ð 
r'   r°   z†
    RegNet Model with an image classification head on top (a linear layer on top of the pooled features), e.g. for
    ImageNet.
    )Úcustom_introc                   ó€   ‡ — e Zd Zˆ fd„Ze	 	 	 	 d	dej        dz  dej        dz  dedz  dedz  de	f
d„¦   «         Z
ˆ xZS )
ÚRegNetForImageClassificationc                 óŠ  •— t          ¦   «                              |¦  «         |j        | _        t          |¦  «        | _        t          j        t          j        ¦   «         |j        dk    r%t          j        |j	        d         |j        ¦  «        nt          j
        ¦   «         ¦  «        | _        |                      ¦   «          d S )Nr   éÿÿÿÿ)r   r   Ú
num_labelsr°   r”   r   rO   ÚFlattenrŸ   r‚   r#   Ú
classifierr³   r<   s     €r&   r   z%RegNetForImageClassification.__init__M  sŸ   ø€ Ý‰Œ×Ò˜Ñ Ô Ð Ø Ô+ˆŒÝ! &Ñ)Ô)ˆŒåœ-ÝŒJ‰LŒLØEKÔEVÐYZÒEZÐEZ�BŒI�fÔ)¨"Ô-¨vÔ/@ÑAÔAÐAÕ`bÔ`kÑ`mÔ`mñ
ô 
ˆŒð
 	�ŠÑÔÐÐÐr'   Nr@   Úlabelsr‡   rˆ   rF   c                 ó@  — |�|n| j         j        }|                      |||¬¦  «        }|r|j        n|d         }|                      |¦  «        }d}	|�|                      ||| j         ¦  «        }	|s|f|dd…         z   }
|	�|	f|
z   n|
S t          |	||j        ¬¦  «        S )a0  
        labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*):
            Labels for computing the image classification/regression loss. Indices should be in `[0, ...,
            config.num_labels - 1]`. If `config.num_labels > 1` a classification loss is computed (Cross-Entropy).
        Nrµ   r   r   )ÚlossÚlogitsrŽ   )r6   rˆ   r”   r¶   rÂ   Úloss_functionr
   rŽ   )r$   r@   rÃ   r‡   rˆ   r·   Úoutputsrº   rÆ   rÅ   Úoutputs              r&   r,   z$RegNetForImageClassification.forwardY  sÈ   € ð &1Ð%<�k�kÀ$Ä+ÔBYˆà—+’+˜lÐAUÐcn�+ÑoÔoˆà1<ÐL˜Ô-Ð-À'È!Ä*ˆà—’ Ñ/Ô/ˆàˆàÐØ×%Ò% f¨f°d´kÑBÔBˆDàð 	DØ�Y ¨¨¨¤Ñ,ˆFØ'+Ð'7�D�7˜VÑ#Ð#¸VÐCå3¸ÀfÐ\cÔ\qÐrÑrÔrÐrr'   )NNNN)r-   r.   r/   r   r   r£   ÚFloatTensorÚ
LongTensorr‘   r
   r,   r2   r3   s   @r&   r½   r½   E  sÁ   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð ð 26Ø*.Ø,0Ø#'ðsð sàÔ'¨$Ñ.ðsð Ô  4Ñ'ðsð # T™kð	sð
 ˜D‘[ðsð 
.ðsð sð sñ „^ðsð sð sð sð sr'   r½   )r½   r°   r“   )%rA   r¡   r£   r   r   Ú r   rœ   Úactivationsr   Úmodeling_outputsr   r	   r
   Úmodeling_utilsr   Úutilsr   r   Úconfiguration_regnetr   Ú
get_loggerr-   ÚloggerÚModuler   r5   rC   rI   rV   ri   ro   r}   r“   r°   r½   Ú__all__rt   r'   r&   ú<module>rÖ      s"  ðð Ð à €€€à €€€Ø Ð Ð Ð Ð Ð Ð Ð à &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð
 .Ð -Ð -Ð -Ð -Ð -Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ð 
ˆÔ	˜HÑ	%Ô	%€ðð ð ð ð �b”iñ ô ð ð<ð ð ð ð �r”yñ ô ð ð.ð ð ð ð �R”Yñ ô ð ð"ð ð ð ð �B”Iñ ô ð ð0ð ð ð ð �2”9ñ ô ð ð8ð ð ð ð �2”9ñ ô ð ð:ð ð ð ð �"”)ñ ô ð ðB#kð #kð #kð #kð #k�B”Iñ #kô #kð #kðL ð*ð *ð *ð *ð *˜Oñ *ô *ñ „ð*ð* ð(
ð (
ð (
ð (
ð (
Ð'ñ (
ô (
ñ „ð(
ðV €ððñ ô ð,sð ,sð ,sð ,sð ,sÐ#8ñ ,sô ,sñô ð,sð^ SÐ
RÐ
R€€€r'   