Ë
    T^(hkE  ã                   ó¶  — d Z ddlZddlmZ ddlZddlZddlmZmZ ddlm	Z	m
Z
mZ ddlmZ ddlmZmZmZ dd	lmZmZmZ dd
lmZ ddlmZ ddlmZ  ej8                  e«      ZdZdZ g d¢Z!dZ"dZ# G d„ dejH                  «      Z% G d„ dejH                  «      Z& G d„ dejH                  «      Z' G d„ dejH                  «      Z( G d„ dejH                  «      Z) G d„ dejH                  «      Z* G d„ dejH                  «      Z+ G d „ d!ejH                  «      Z, G d"„ d#e«      Z-d$Z.d%Z/ ed&e.«       G d'„ d(e-«      «       Z0 ed)e.«       G d*„ d+e-«      «       Z1g d,¢Z2y)-zPyTorch RegNet model.é    N)ÚOptional)ÚTensorÚnn)ÚBCEWithLogitsLossÚCrossEntropyLossÚMSELossé   )ÚACT2FN)Úadd_code_sample_docstringsÚadd_start_docstringsÚ%add_start_docstrings_to_model_forward)ÚBaseModelOutputWithNoAttentionÚ(BaseModelOutputWithPoolingAndNoAttentionÚ$ImageClassifierOutputWithNoAttention)ÚPreTrainedModel)Úloggingé   )ÚRegNetConfigr   zfacebook/regnet-y-040)r   i@  é   r   ztabby, tabby catc                   óN   ‡ — e Zd Z	 	 	 	 d	dedededededee   fˆ fd„Zd„ Zˆ xZS )
ÚRegNetConvLayerÚin_channelsÚout_channelsÚkernel_sizeÚstrideÚgroupsÚ
activationc           	      óò   •— t         ‰| �  «        t        j                  |||||dz  |d¬«      | _        t        j
                  |«      | _        |�t        |   | _	        y t        j                  «       | _	        y )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/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/models/regnet/modeling_regnet.pyr#   zRegNetConvLayer.__init__4   sk   ø€ ô 	‰ÑÔÜŸ9™9ØØØ#ØØ 1Ñ$ØØô
ˆÔô  Ÿ^™^¨LÓ9ˆÔØ0:Ð0Fœ& Ñ,ˆ�ÌBÏKÉKËMˆ�ó    c                 ól   — | j                  |«      }| j                  |«      }| j                  |«      }|S ©N)r%   r'   r   ©r)   Úhidden_states     r+   ÚforwardzRegNetConvLayer.forwardJ   s6   € Ø×'Ñ'¨Ó5ˆØ×)Ñ)¨,Ó7ˆØ—‘ |Ó4ˆØÐr,   )r	   r   r   Úrelu)	Ú__name__Ú
__module__Ú__qualname__Úintr   Ústrr#   r1   Ú__classcell__©r*   s   @r+   r   r   3   s`   ø„ ð
 ØØØ$*ñZàðZð ðZð ð	Zð
 ðZð ðZð ˜S‘Mõ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                  | _        y )Nr	   r   )r   r   r   )r"   r#   r   Únum_channelsÚembedding_sizeÚ
hidden_actÚembedder©r)   r<   r*   s     €r+   r#   zRegNetEmbeddings.__init__V   sH   ø€ Ü‰ÑÔÜ'Ø×Ñ ×!6Ñ!6ÀAÈaÐ\b×\mÑ\mô
ˆŒð #×/Ñ/ˆÕr,   c                 óz   — |j                   d   }|| j                  k7  rt        d«      ‚| j                  |«      }|S )Nr   zeMake sure that the channel dimension of the pixel values match with the one set in the configuration.)Úshaper>   Ú
ValueErrorrA   )r)   Úpixel_valuesr>   r0   s       r+   r1   zRegNetEmbeddings.forward]   sF   € Ø#×)Ñ)¨!Ñ,ˆØ˜4×,Ñ,Ò,ÜØwóð ð —}‘} \Ó2ˆØÐr,   )r3   r4   r5   Ú__doc__r   r#   r1   r8   r9   s   @r+   r;   r;   Q   s   ø„ ñð0˜|õ 0ör,   r;   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   c                 ó”   •— t         ‰| �  «        t        j                  ||d|d¬«      | _        t        j
                  |«      | _        y )Nr   F)r   r   r!   )r"   r#   r   r$   r%   r&   r'   )r)   r   r   r   r*   s       €r+   r#   zRegNetShortCut.__init__n   s:   ø€ Ü‰ÑÔÜŸ9™9 [°,ÈAÐV\ÐchÔiˆÔÜŸ^™^¨LÓ9ˆÕr,   ÚinputÚreturnc                 óJ   — | j                  |«      }| j                  |«      }|S r.   )r%   r'   )r)   rK   r0   s      r+   r1   zRegNetShortCut.forwards   s(   € Ø×'Ñ'¨Ó.ˆØ×)Ñ)¨,Ó7ˆØÐr,   )r   )	r3   r4   r5   rG   r6   r#   r   r1   r8   r9   s   @r+   rI   rI   h   s5   ø„ ññ
: Cð :°sð :ÀCõ :ð
˜Vð ¨÷ r,   rI   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://arxiv.org/abs/1709.01507).
    r   Úreduced_channelsc           	      ó0  •— t         ‰| �  «        t        j                  d«      | _        t        j
                  t        j                  ||d¬«      t        j                  «       t        j                  ||d¬«      t        j                  «       «      | _	        y )N©r   r   r   )r   )
r"   r#   r   ÚAdaptiveAvgPool2dÚpoolerÚ
Sequentialr$   ÚReLUÚSigmoidÚ	attention)r)   r   rP   r*   s      €r+   r#   zRegNetSELayer.__init__~   sd   ø€ Ü‰ÑÔä×*Ñ*¨6Ó2ˆŒÜŸ™Ü�I‰I�kÐ#3ÀÔCÜ�G‰G‹IÜ�I‰IÐ&¨ÀÔCÜ�J‰J‹Ló	
ˆ�r,   c                 óT   — | j                  |«      }| j                  |«      }||z  }|S r.   )rT   rX   )r)   r0   ÚpooledrX   s       r+   r1   zRegNetSELayer.forward‰   s.   € à—‘˜\Ó*ˆØ—N‘N 6Ó*ˆ	Ø# iÑ/ˆØÐr,   )r3   r4   r5   rG   r6   r#   r1   r8   r9   s   @r+   rO   rO   y   s    ø„ ñð	
 Cð 	
¸3õ 	
ör,   rO   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<   r   r   r   c           
      óž  •— t         ‰| �  «        ||k7  xs |dk7  }t        d||j                  z  «      }|rt	        |||¬«      nt        j                  «       | _        t        j                  t        ||d|j                  ¬«      t        |||||j                  ¬«      t        ||dd ¬«      «      | _        t        |j                     | _        y )Nr   ©r   ©r   r   ©r   r   r   )r"   r#   ÚmaxÚgroups_widthrI   r   r(   ÚshortcutrU   r   r@   Úlayerr
   r   ©r)   r<   r   r   r   Úshould_apply_shortcutr   r*   s          €r+   r#   zRegNetXLayer.__init__–   s»   ø€ Ü‰ÑÔØ +¨|Ñ ;Ò J¸vÈ¹{ÐÜ�Q˜¨×(;Ñ(;Ñ;Ó<ˆáH]ŒN˜;¨¸VÕDÔce×cnÑcnÓcpð 	Œô —]‘]Ü˜K¨À1ÐQW×QbÑQbÔcÜ˜L¨,¸vÈfÐag×arÑarÔsÜ˜L¨,ÀAÐRVÔWó
ˆŒ
ô
 ! ×!2Ñ!2Ñ3ˆ�r,   c                 óz   — |}| j                  |«      }| j                  |«      }||z  }| j                  |«      }|S r.   ©rd   rc   r   ©r)   r0   Úresiduals      r+   r1   zRegNetXLayer.forward¤   óA   € ØˆØ—z‘z ,Ó/ˆØ—=‘= Ó*ˆØ˜Ñ ˆØ—‘ |Ó4ˆØÐr,   ©r   ©	r3   r4   r5   rG   r   r6   r#   r1   r8   r9   s   @r+   r\   r\   ‘   s/   ø„ ññ4˜|ð 4¸#ð 4ÈSð 4ÐZ]õ 4ör,   r\   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<   r   r   r   c                 óà  •— t         ‰| �  «        ||k7  xs |dk7  }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                     | _        y )Nr   r^   r_   r`   é   )rP   )r"   r#   ra   rb   rI   r   r(   rc   rU   r   r@   rO   r6   Úroundrd   r
   r   re   s          €r+   r#   zRegNetYLayer.__init__²   sÔ   ø€ Ü‰ÑÔØ +¨|Ñ ;Ò J¸vÈ¹{ÐÜ�Q˜¨×(;Ñ(;Ñ;Ó<ˆáH]ŒN˜;¨¸VÕDÔce×cnÑcnÓcpð 	Œô —]‘]Ü˜K¨À1ÐQW×QbÑQbÔcÜ˜L¨,¸vÈfÐag×arÑarÔsÜ˜,¼¼UÀ;ÐQRÁ?Ó=SÓ9TÔUÜ˜L¨,ÀAÐRVÔWó	
ˆŒ
ô ! ×!2Ñ!2Ñ3ˆ�r,   c                 óz   — |}| j                  |«      }| j                  |«      }||z  }| j                  |«      }|S r.   rh   ri   s      r+   r1   zRegNetYLayer.forwardÁ   rk   r,   rl   rm   r9   s   @r+   ro   ro   ­   s/   ø„ ññ4˜|ð 4¸#ð 4ÈSð 4ÐZ]õ 4ör,   ro   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<   r   r   r   Údepthc                 óð   •— t         ‰| �  «        |j                  dk(  rt        nt        }t        j                   |||||¬«      gt        |dz
  «      D �cg c]  } ||||«      ‘Œ c}¢­Ž | _        y c c}w )NÚxr^   r   )	r"   r#   Ú
layer_typer\   ro   r   rU   ÚrangeÚlayers)	r)   r<   r   r   r   rv   rd   Ú_r*   s	           €r+   r#   zRegNetStage.__init__Ï   sw   ø€ ô 	‰ÑÔà &× 1Ñ 1°SÒ 8•¼lˆä—m‘máØØØØô	ð	
ô BGÀuÈqÁyÓAQÖR¸A‰e�F˜L¨,Õ7ÒRò	
ˆ�ùò Ss   ÁA3
c                 ó(   — | j                  |«      }|S r.   )r{   r/   s     r+   r1   zRegNetStage.forwardæ   s   € Ø—{‘{ <Ó0ˆØÐr,   )r   r   rm   r9   s   @r+   ru   ru   Ê   sJ   ø„ ñð Øñ
àð
ð ð
ð ð	
ð
 ð
ð õ
ö.r,   ru   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 )	ÚRegNetEncoderr<   c           
      óê  •— t         ‰| �  «        t        j                  g «      | _        | j                  j                  t        ||j                  |j                  d   |j                  rdnd|j                  d   ¬«      «       t        |j                  |j                  dd  «      }t        ||j                  dd  «      D ]0  \  \  }}}| j                  j                  t        ||||¬«      «       Œ2 y )Nr   r   r   )r   rv   )rv   )r"   r#   r   Ú
ModuleListÚstagesÚappendru   r?   Úhidden_sizesÚdownsample_in_first_stageÚdepthsÚzip)r)   r<   Úin_out_channelsr   r   rv   r*   s         €r+   r#   zRegNetEncoder.__init__ì   sÙ   ø€ Ü‰ÑÔÜ—m‘m BÓ'ˆŒà�‰×ÑÜØØ×%Ñ%Ø×#Ñ# AÑ&Ø"×<Ò<‘qÀ!Ø—m‘m AÑ&ôô	
ô ˜f×1Ñ1°6×3FÑ3FÀqÀrÐ3JÓKˆÜ25°oÀvÇ}Á}ÐUVÐUWÐGXÓ2Yò 	\Ñ.Ñ'ˆ[˜,¨Ø�K‰K×Ñœ{¨6°;ÀÐTYÔZÕ[ñ	\r,   r0   Úoutput_hidden_statesÚreturn_dictrL   c                 ó¦   — |rdnd }| j                   D ]  }|r||fz   } ||«      }Œ |r||fz   }|st        d„ ||fD «       «      S t        ||¬«      S )N© c              3   ó&   K  — | ]	  }|€Œ|–— Œ y ­wr.   rŒ   )Ú.0Úvs     r+   ú	<genexpr>z(RegNetEncoder.forward.<locals>.<genexpr>  s   è ø€ ÒS˜qÀQÁ]œÑSùs   ‚Š)Úlast_hidden_stateÚhidden_states)r‚   Útupler   )r)   r0   r‰   rŠ   r’   Ústage_modules         r+   r1   zRegNetEncoder.forwardý   sq   € ñ 3™¸ˆà ŸK™Kò 	6ˆLÙ#Ø -°°Ñ ?�á'¨Ó5‰Lð		6ñ  Ø)¨\¨OÑ;ˆMáÜÑS \°=Ð$AÔSÓSÐSä-ÀÐ\iÔjÐjr,   )FT)
r3   r4   r5   r   r#   r   Úboolr   r1   r8   r9   s   @r+   r   r   ë   sB   ø„ ð\˜|õ \ð$ ]añkØ"ðkØ:>ðkØUYðkà	'÷kr,   r   c                   ó(   — e Zd ZdZeZdZdZdgZd„ Z	y)ÚRegNetPreTrainedModelz†
    An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained
    models.
    ÚregnetrF   ro   c                 óJ  — t        |t        j                  «      r-t        j                  j	                  |j
                  dd¬«       y t        |t        j                  «      rÃt        j                  j                  |j
                  t        j                  d«      ¬«       |j                  �xt        j                  j                  |j
                  «      \  }}|dkD  rdt        j                  |«      z  nd}t        j                  j                  |j                  | |«       y y t        |t        j                  t        j                  f«      rUt        j                  j                  |j
                  d«       t        j                  j                  |j                  d«       y y )NÚfan_outr2   )ÚmodeÚnonlinearityé   )Úar   r   )Ú
isinstancer   r$   ÚinitÚkaiming_normal_ÚweightÚLinearÚkaiming_uniform_ÚmathÚsqrtr!   Ú_calculate_fan_in_and_fan_outÚuniform_r&   Ú	GroupNormÚ	constant_)r)   ÚmoduleÚfan_inr|   Úbounds        r+   Ú_init_weightsz#RegNetPreTrainedModel._init_weights  s  € Ü�fœbŸi™iÔ(Ü�G‰G×#Ñ# F§M¡M¸	ÐPVÐ#ÕWä˜¤§	¡	Ô*Ü�G‰G×$Ñ$ V§]¡]´d·i±iÀ³lÐ$ÔCØ�{‰{Ð&ÜŸG™G×AÑAÀ&Ç-Á-ÓP‘	�˜Ø17¸!²˜œDŸI™I fÓ-Ò-À�Ü—‘× Ñ  §¡¨u¨f°eÕ<ð 'ô ˜¤§¡´·±Ð >Ô?Ü�G‰G×Ñ˜fŸm™m¨QÔ/Ü�G‰G×Ñ˜fŸk™k¨1Õ-ð @r,   N)
r3   r4   r5   rG   r   Úconfig_classÚbase_model_prefixÚmain_input_nameÚ_no_split_modulesr®   rŒ   r,   r+   r—   r—     s'   „ ñð
  €LØ ÐØ$€OØ'Ð(Ðó.r,   r—   aI  
    This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it
    as a regular PyTorch Module and refer to the PyTorch documentation for all matters related to general usage and
    behavior.

    Parameters:
        config ([`RegNetConfig`]): Model configuration class with all the parameters of the model.
            Initializing with a config file does not load the weights associated with the model, only the
            configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights.
aK  
    Args:
        pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`):
            Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See
            [`ConvNextImageProcessor.__call__`] for details.

        output_hidden_states (`bool`, *optional*):
            Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for
            more detail.
        return_dict (`bool`, *optional*):
            Whether or not to return a [`~file_utils.ModelOutput`] instead of a plain tuple.
zOThe bare RegNet model outputting raw features without any specific head on top.c                   ó|   ‡ — e Zd Zˆ fd„Z ee«       eeee	de
¬«      	 d	dedee   dee   defd„«       «       Zˆ xZS )
ÚRegNetModelc                 óÆ   •— t         ‰| �  |«       || _        t        |«      | _        t        |«      | _        t        j                  d«      | _	        | j                  «        y )NrR   )r"   r#   r<   r;   rA   r   Úencoderr   rS   rT   Ú	post_initrB   s     €r+   r#   zRegNetModel.__init__K  sK   ø€ Ü‰Ñ˜Ô ØˆŒÜ(¨Ó0ˆŒÜ$ VÓ,ˆŒÜ×*Ñ*¨6Ó2ˆŒà�‰Õr,   Úvision)Ú
checkpointÚoutput_typer¯   ÚmodalityÚexpected_outputrF   r‰   rŠ   rL   c                 ó(  — |�|n| j                   j                  }|�|n| j                   j                  }| j                  |«      }| j	                  |||¬«      }|d   }| j                  |«      }|s
||f|dd  z   S t        |||j                  ¬«      S )N©r‰   rŠ   r   r   )r‘   Úpooler_outputr’   )r<   r‰   Úuse_return_dictrA   r¶   rT   r   r’   )r)   rF   r‰   rŠ   Úembedding_outputÚencoder_outputsr‘   Úpooled_outputs           r+   r1   zRegNetModel.forwardT  s³   € ð %9Ð$DÑ È$Ï+É+×JjÑJjð 	ð &1Ð%<‘kÀ$Ç+Á+×B]ÑB]ˆàŸ=™=¨Ó6ÐàŸ,™,ØÐ3GÐU`ð 'ó 
ˆð ,¨AÑ.ÐàŸ™Ð$5Ó6ˆáØ% }Ð5¸ÈÈÐ8KÑKÐKä7Ø/Ø'Ø)×7Ñ7ô
ð 	
r,   )NN)r3   r4   r5   r#   r   ÚREGNET_INPUTS_DOCSTRINGr   Ú_CHECKPOINT_FOR_DOCr   Ú_CONFIG_FOR_DOCÚ_EXPECTED_OUTPUT_SHAPEr   r   r•   r1   r8   r9   s   @r+   r´   r´   E  sp   ø„ ôñ +Ð+BÓCÙØ&Ø<Ø$ØØ.ôð ptñ
Ø"ð
Ø:BÀ4¹.ð
Ø^fÐgkÑ^lð
à	1ò
óó Dô
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.
    c                   ó¸   ‡ — e Zd Zˆ fd„Z ee«       eeee	e
¬«      	 	 	 	 d	deej                     deej                     dee   dee   def
d„«       «       Zˆ xZS )
ÚRegNetForImageClassificationc                 ó|  •— t         ‰| �  |«       |j                  | _        t        |«      | _        t        j                  t        j                  «       |j                  dkD  r-t        j                  |j                  d   |j                  «      nt        j                  «       «      | _        | j                  «        y )Nr   éÿÿÿÿ)r"   r#   Ú
num_labelsr´   r˜   r   rU   ÚFlattenr£   r„   r(   Ú
classifierr·   rB   s     €r+   r#   z%RegNetForImageClassification.__init__�  s‡   ø€ Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒÜ! &Ó)ˆŒäŸ-™-Ü�J‰J‹LØEK×EVÑEVÐYZÒEZŒB�I‰I�f×)Ñ)¨"Ñ-¨v×/@Ñ/@ÔAÔ`b×`kÑ`kÓ`mó
ˆŒð
 	�‰Õr,   )r¹   rº   r¯   r¼   rF   Úlabelsr‰   rŠ   rL   c                 ó  — |�|n| j                   j                  }| j                  |||¬«      }|r|j                  n|d   }| j	                  |«      }d}|��‡| j                   j
                  €�| j                  dk(  rd| j                   _        nl| j                  dkD  rL|j                  t        j                  k(  s|j                  t        j                  k(  rd| j                   _        nd| j                   _        | j                   j
                  dk(  rIt        «       }	| j                  dk(  r& |	|j                  «       |j                  «       «      }nŒ |	||«      }n‚| j                   j
                  dk(  r=t        «       }	 |	|j                  d| j                  «      |j                  d«      «      }n,| j                   j
                  dk(  rt        «       }	 |	||«      }|s|f|dd z   }
|�|f|
z   S |
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   Ú
regressionÚsingle_label_classificationÚmulti_label_classificationrË   r   )ÚlossÚlogitsr’   )r<   rÀ   r˜   r¿   rÎ   Úproblem_typerÌ   ÚdtypeÚtorchÚlongr6   r   Úsqueezer   Úviewr   r   r’   )r)   rF   rÏ   r‰   rŠ   ÚoutputsrÃ   rÕ   rÔ   Úloss_fctÚoutputs              r+   r1   z$RegNetForImageClassification.forward�  s»  € ð& &1Ð%<‘kÀ$Ç+Á+×B]ÑB]ˆà—+‘+˜lÐAUÐcn�+Óoˆá1<˜×-Ò-À'È!Á*ˆà—‘ Ó/ˆàˆàÑØ�{‰{×'Ñ'Ð/Ø—?‘? aÒ'Ø/;�D—K‘KÕ,Ø—_‘_ qÒ(¨f¯l©l¼e¿j¹jÒ.HÈFÏLÉLÔ\a×\eÑ\eÒLeØ/L�D—K‘KÕ,à/K�D—K‘KÔ,Ø�{‰{×'Ñ'¨<Ò7Ü"›9�Ø—?‘? aÒ'Ù# F§N¡NÓ$4°f·n±nÓ6FÓG‘Dá# F¨FÓ3‘DØ—‘×)Ñ)Ð-JÒJÜ+Ó-�Ù §¡¨B°·±Ó @À&Ç+Á+ÈbÃ/ÓR‘Ø—‘×)Ñ)Ð-IÒIÜ,Ó.�Ù ¨Ó/�áØ�Y ¨¨ Ñ,ˆFØ'+Ð'7�D�7˜VÑ#ÐC¸VÐCä3¸ÀfÐ\c×\qÑ\qÔrÐrr,   )NNNN)r3   r4   r5   r#   r   rÄ   r   Ú_IMAGE_CLASS_CHECKPOINTr   rÆ   Ú_IMAGE_CLASS_EXPECTED_OUTPUTr   rØ   ÚFloatTensorÚ
LongTensorr•   r1   r8   r9   s   @r+   rÉ   rÉ   x  sŸ   ø„ ô
ñ +Ð+BÓCÙØ*Ø8Ø$Ø4ô	ð 59Ø-1Ø/3Ø&*ñ/sà˜u×0Ñ0Ñ1ð/sð ˜×)Ñ)Ñ*ð/sð ' t™nð	/sð
 ˜d‘^ð/sð 
.ò/sóó Dô/sr,   rÉ   )rÉ   r´   r—   )3rG   r¥   Útypingr   rØ   Útorch.utils.checkpointr   r   Útorch.nnr   r   r   Úactivationsr
   Ú
file_utilsr   r   r   Úmodeling_outputsr   r   r   Úmodeling_utilsr   Úutilsr   Úconfiguration_regnetr   Ú
get_loggerr3   ÚloggerrÆ   rÅ   rÇ   rß   rà   ÚModuler   r;   rI   rO   r\   ro   ru   r   r—   ÚREGNET_START_DOCSTRINGrÄ   r´   rÉ   Ú__all__rŒ   r,   r+   ú<module>rñ      sv  ðñ ã Ý ã Û ß ß AÑ Aå !ß qÑ q÷ñ õ
 .Ý Ý .ð 
ˆ×	Ñ	˜HÓ	%€ð !€ð .Ð Ú(Ð ð 2Ð Ø1Ð ô�b—i‘iô ô<�r—y‘yô ô.�R—Y‘Yô ô"�B—I‘Iô ô0�2—9‘9ô ô8�2—9‘9ô ô:�"—)‘)ô ôB#k�B—I‘Iô #kôL.˜Oô .ð6	Ð ðÐ ñ ØUØóô
+
Ð'ó +
óð
+
ñ\ ðð óôCsÐ#8ó CsóðCsòL S�r,   