ó
    Eñi‹A  ã                   óŒ  • S SK Jr  S SKJr  S SKJrJrJrJr  S SK	J
r
  S SKJr  SSKJr  SSKJr  S	S
KJrJrJr  S	SKJr  S	SKJrJr  / SQr " S S\
R6                  5      r " S S\
R:                  5      r " S S\
R6                  5      r " S S\
R@                  5      r! " S S\
R@                  5      r" " S S\
R:                  5      r# " S S\
R:                  5      r$ " S S\
R@                  5      r%S\&\\!\"4      S\\&\\\\4         S \'\(   S!\S"\
R@                  4   S#\\   S$\)S%\S&\%4S' jr*S(\S)S*S+.r+ " S, S-\5      r, " S. S/\5      r- " S0 S1\5      r.\" 5       \" S2\,R^                  4S39SS4S5.S#\\,   S$\)S%\S&\%4S6 jj5       5       r0\" 5       \" S2\-R^                  4S39SS4S5.S#\\-   S$\)S%\S&\%4S7 jj5       5       r1\" 5       \" S2\.R^                  4S39SS4S5.S#\\.   S$\)S%\S&\%4S8 jj5       5       r2S	S9KJ3r3  \3" \,R^                  Rh                  \-R^                  Rh                  \.R^                  Rh                  S:.5      r5g);é    )ÚSequence)Úpartial)ÚAnyÚCallableÚOptionalÚUnionN)ÚTensoré   )ÚVideoClassification)Ú_log_api_usage_onceé   )Úregister_modelÚWeightsÚWeightsEnum)Ú_KINETICS400_CATEGORIES)Ú_ovewrite_named_paramÚhandle_legacy_interface)ÚVideoResNetÚR3D_18_WeightsÚMC3_18_WeightsÚR2Plus1D_18_WeightsÚr3d_18Úmc3_18Úr2plus1d_18c                   óx   ^ • \ rS rSr SS\S\S\\   S\S\SS4U 4S	 jjjr\S\S\\\\4   4S
 j5       r	Sr
U =r$ )ÚConv3DSimpleé   NÚ	in_planesÚ
out_planesÚ	midplanesÚstrideÚpaddingÚreturnc           	      ó*   >• [         TU ]  UUSUUSS9  g )N)r
   r
   r
   F©Úin_channelsÚout_channelsÚkernel_sizer!   r"   Úbias©ÚsuperÚ__init__©Úselfr   r   r    r!   r"   Ú	__class__s         €Ú\/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torchvision/models/video/resnet.pyr,   ÚConv3DSimple.__init__   s)   ø€ ô 	‰ÑØ!Ø#Ø!ØØØð 	ò 	
ó    c                 ó
   • X U 4$ ©N© ©r!   s    r0   Úget_downsample_strideÚ"Conv3DSimple.get_downsample_stride(   ó   € à˜vÐ%Ð%r2   r5   ©Né   r;   ©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úintr   r,   ÚstaticmethodÚtupler7   Ú__static_attributes__Ú__classcell__©r/   s   @r0   r   r      sq   ø† àpqñ
Øð
Ø*-ð
Ø:BÀ3¹-ð
ØX[ð
Øjmð
à	÷
ð 
ð ð& cð &¨e°C¸¸c°MÑ.Bó &ó ö&r2   r   c                   óp   ^ • \ rS rSrSS\S\S\S\S\SS4U 4S	 jjjr\S\S\\\\4   4S
 j5       rSr	U =r
$ )ÚConv2Plus1Dé-   r   r   r    r!   r"   r#   Nc                 óä   >• [         TU ]  [        R                  " UUSSXD4SXU4SS9[        R                  " U5      [        R
                  " SS9[        R                  " X2SUSS4USS4SS95        g )	N©r;   r
   r
   r;   r   F©r(   r!   r"   r)   T©Úinplace©r
   r;   r;   ©r+   r,   ÚnnÚConv3dÚBatchNorm3dÚReLUr-   s         €r0   r,   ÚConv2Plus1D.__init__.   s{   ø€ Ü‰ÑÜ�IŠIØØØ%Ø˜6Ð*Ø˜GÐ-Øñô �NŠN˜9Ó%Ü�GŠG˜DÑ!Ü�IŠIØ°9ÀfÈaÐQRÀ^Ð^eÐghÐjkÐ]lÐsxñõ	
r2   c                 ó
   • X U 4$ r4   r5   r6   s    r0   r7   Ú!Conv2Plus1D.get_downsample_stride?   r9   r2   r5   ©r;   r;   )r=   r>   r?   r@   rA   r,   rB   rC   r7   rD   rE   rF   s   @r0   rH   rH   -   sg   ø† ñ
 #ð 
°3ð 
À3ð 
ÐPSð 
Ðbeð 
Ðnr÷ 
ð 
ð" ð& cð &¨e°C¸¸c°MÑ.Bó &ó ö&r2   rH   c                   óx   ^ • \ rS rSr SS\S\S\\   S\S\SS4U 4S	 jjjr\S\S\\\\4   4S
 j5       r	Sr
U =r$ )ÚConv3DNoTemporaléD   Nr   r   r    r!   r"   r#   c           	      ó2   >• [         TU ]  UUSSXD4SXU4SS9  g )NrK   r;   r   Fr%   r*   r-   s         €r0   r,   ÚConv3DNoTemporal.__init__E   s3   ø€ ô 	‰ÑØ!Ø#Ø!Ø�vÐ&Ø˜Ð)Øð 	ò 	
r2   c                 ó
   • SX 4$ ©Nr;   r5   r6   s    r0   r7   Ú&Conv3DNoTemporal.get_downsample_strideR   s   € à�&Ð Ð r2   r5   r:   r<   rF   s   @r0   rZ   rZ   D   sq   ø† àpqñ
Øð
Ø*-ð
Ø:BÀ3¹-ð
ØX[ð
Øjmð
à	÷
ð 
ð ð! cð !¨e°C¸¸c°MÑ.Bó !ó ö!r2   rZ   c                   óš   ^ • \ rS rSrSr  SS\S\S\S\R                  4   S\S	\	\R                     S
S4U 4S jjjr
S\S
\4S jrSrU =r$ )Ú
BasicBlockéW   r;   NÚinplanesÚplanesÚconv_builder.r!   Ú
downsampler#   c                 ó¦  >• X-  S-  S-  S-  US-  S-  SU-  -   -  n[         TU ]  5         [        R                  " U" XXd5      [        R                  " U5      [        R
                  " SS95      U l        [        R                  " U" X"U5      [        R                  " U5      5      U l        [        R
                  " SS9U l        XPl	        X@l
        g )Nr
   TrM   )r+   r,   rQ   Ú
SequentialrS   rT   Úconv1Úconv2Úrelurg   r!   ©r.   rd   re   rf   r!   rg   r    r/   s          €r0   r,   ÚBasicBlock.__init__[   s±   ø€ ð Ñ&¨Ñ*¨QÑ.°Ñ2¸À1¹ÀqÑ8HÈ1ÈvÉ:Ñ8UÑVˆ	ä‰ÑÔÜ—]’]Ù˜¨9Ó=¼r¿~º~ÈfÓ?UÔWY×W^ÒW^ÐgkÑWló
ˆŒ
ô —]’]¡<°À	Ó#JÌBÏNÊNÐ[aÓLbÓcˆŒ
Ü—G’G DÑ)ˆŒ	Ø$ŒØ�r2   Úxc                 ó´   • UnU R                  U5      nU R                  U5      nU R                  b  U R                  U5      nX2-  nU R                  U5      nU$ r4   )rj   rk   rg   rl   ©r.   ro   ÚresidualÚouts       r0   ÚforwardÚBasicBlock.forwardn   sR   € Øˆà�j‰j˜‹mˆØ�j‰j˜‹oˆØ�?‰?Ñ&Ø—‘ qÓ)ˆHà‰ˆØ�i‰i˜‹nˆàˆ
r2   )rj   rk   rg   rl   r!   ©r;   N©r=   r>   r?   r@   Ú	expansionrA   r   rQ   ÚModuler   r,   r	   rt   rD   rE   rF   s   @r0   rb   rb   W   s‚   ø† à€Ið Ø*.ñàðð ðð ˜s B§I¡I˜~Ñ.ð	ð
 ðð ˜RŸY™YÑ'ðð 
÷ð ð&˜ð  F÷ ò r2   rb   c                   óš   ^ • \ rS rSrSr  SS\S\S\S\R                  4   S\S	\	\R                     S
S4U 4S jjjr
S\S
\4S jrSrU =r$ )Ú
Bottlenecké|   é   Nrd   re   rf   .r!   rg   r#   c           	      ó   >• [         TU ]  5         X-  S-  S-  S-  US-  S-  SU-  -   -  n[        R                  " [        R                  " XSSS9[        R
                  " U5      [        R                  " SS95      U l        [        R                  " U" X"Xd5      [        R
                  " U5      [        R                  " SS95      U l        [        R                  " [        R                  " X"U R                  -  SSS9[        R
                  " X R                  -  5      5      U l
        [        R                  " SS9U l        XPl        X@l        g )Nr
   r;   F)r(   r)   TrM   )r+   r,   rQ   ri   rR   rS   rT   rj   rk   rx   Úconv3rl   rg   r!   rm   s          €r0   r,   ÚBottleneck.__init__   s  ø€ ô 	‰ÑÔØÑ&¨Ñ*¨QÑ.°Ñ2¸À1¹ÀqÑ8HÈ1ÈvÉ:Ñ8UÑVˆ	ô —]’]Ü�IŠI�h°A¸EÑBÄBÇNÂNÐSYÓDZÔ\^×\cÒ\cÐlpÑ\qó
ˆŒ
ô —]’]Ù˜¨Ó;¼R¿^º^ÈFÓ=SÔUW×U\ÒU\ÐeiÑUjó
ˆŒ
ô
 —]’]Ü�IŠI�f t§~¡~Ñ5À1È5ÑQÜ�NŠN˜6§N¡NÑ2Ó3ó
ˆŒ
ô —G’G DÑ)ˆŒ	Ø$ŒØ�r2   ro   c                 óÖ   • UnU R                  U5      nU R                  U5      nU R                  U5      nU R                  b  U R                  U5      nX2-  nU R	                  U5      nU$ r4   )rj   rk   r   rg   rl   rq   s       r0   rt   ÚBottleneck.forward�   s_   € Øˆà�j‰j˜‹mˆØ�j‰j˜‹oˆØ�j‰j˜‹oˆà�?‰?Ñ&Ø—‘ qÓ)ˆHà‰ˆØ�i‰i˜‹nˆàˆ
r2   )rj   rk   r   rg   rl   r!   rv   rw   rF   s   @r0   r{   r{   |   s‚   ø† Ø€Ið Ø*.ñàðð ðð ˜s B§I¡I˜~Ñ.ð	ð
 ðð ˜RŸY™YÑ'ðð 
÷ð ð<˜ð  F÷ ò r2   r{   c                   ó0   ^ • \ rS rSrSrSU 4S jjrSrU =r$ )Ú	BasicStemé­   z$The default conv-batchnorm-relu stemc                 ó¢   >• [         TU ]  [        R                  " SSSSSSS9[        R                  " S5      [        R
                  " SS	95        g )
Nr
   é@   )r
   é   rˆ   ©r;   r   r   rK   FrL   TrM   rP   ©r.   r/   s    €r0   r,   ÚBasicStem.__init__°   s?   ø€ Ü‰ÑÜ�IŠI�a˜¨¸9ÈiÐ^cÑdÜ�NŠN˜2ÓÜ�GŠG˜DÑ!õ	
r2   r5   ©r#   N©r=   r>   r?   r@   Ú__doc__r,   rD   rE   rF   s   @r0   r„   r„   ­   s   ø† Ù.÷
õ 
r2   r„   c                   ó0   ^ • \ rS rSrSrSU 4S jjrSrU =r$ )ÚR2Plus1dStemé¸   zRR(2+1)D stem is different than the default one as it uses separated 3D convolutionc                 ó"  >• [         TU ]  [        R                  " SSSSSSS9[        R                  " S5      [        R
                  " SS	9[        R                  " SS
SSSSS9[        R                  " S
5      [        R
                  " SS	95        g )Nr
   rI   )r;   rˆ   rˆ   r‰   )r   r
   r
   FrL   TrM   r‡   rO   ©r;   r;   r;   )r;   r   r   rP   rŠ   s    €r0   r,   ÚR2Plus1dStem.__init__»   sn   ø€ Ü‰ÑÜ�IŠI�a˜¨¸9ÈiÐ^cÑdÜ�NŠN˜2ÓÜ�GŠG˜DÑ!Ü�IŠI�b˜"¨)¸IÈyÐ_dÑeÜ�NŠN˜2ÓÜ�GŠG˜DÑ!õ	
r2   r5   rŒ   r�   rF   s   @r0   r�   r�   ¸   s   ø† Ù\÷
õ 
r2   r�   c                   ó  ^ • \ rS rSr  SS\\\\4      S\\\\	\
\4         S\\   S\S\R                   4   S\S\S	S
4U 4S jjjrS\S	\4S jr SS\\\\4      S\\\	\
\4      S\S\S\S	\R*                  4S jjrSrU =r$ )r   éÆ   ÚblockÚconv_makersÚlayersÚstem.Únum_classesÚzero_init_residualr#   Nc                 ó²  >• [         TU ]  5         [        U 5        SU l        U" 5       U l        U R                  XS   SUS   SS9U l        U R                  XS   SUS   SS9U l        U R                  XS   SUS   SS9U l        U R                  XS   S	US   SS9U l	        [        R                  " S
5      U l        [        R                  " S	UR                  -  U5      U l        U R!                  5        GHs  n[#        U[        R$                  5      (       ad  [        R&                  R)                  UR*                  SSS9  UR,                  b,  [        R&                  R/                  UR,                  S5        M…  M‡  [#        U[        R0                  5      (       aV  [        R&                  R/                  UR*                  S5        [        R&                  R/                  UR,                  S5        Mü  [#        U[        R                  5      (       d  GM  [        R&                  R3                  UR*                  SS5        [        R&                  R/                  UR,                  S5        GMv     U(       ac  U R!                  5        HN  n[#        U[4        5      (       d  M  [        R&                  R/                  UR6                  R*                  S5        MP     gg)a  Generic resnet video generator.

Args:
    block (Type[Union[BasicBlock, Bottleneck]]): resnet building block
    conv_makers (List[Type[Union[Conv3DSimple, Conv3DNoTemporal, Conv2Plus1D]]]): generator
        function for each layer
    layers (List[int]): number of blocks per layer
    stem (Callable[..., nn.Module]): module specifying the ResNet stem.
    num_classes (int, optional): Dimension of the final FC layer. Defaults to 400.
    zero_init_residual (bool, optional): Zero init bottleneck residual BN. Defaults to False.
r‡   r   r;   r6   é€   r   é   r
   i   r“   Úfan_outrl   )ÚmodeÚnonlinearityNg{®Gáz„?)r+   r,   r   rd   rš   Ú_make_layerÚlayer1Úlayer2Úlayer3Úlayer4rQ   ÚAdaptiveAvgPool3dÚavgpoolÚLinearrx   ÚfcÚmodulesÚ
isinstancerR   ÚinitÚkaiming_normal_Úweightr)   Ú	constant_rS   Únormal_r{   Úbn3)	r.   r—   r˜   r™   rš   r›   rœ   Úmr/   s	           €r0   r,   ÚVideoResNet.__init__Ç   s  ø€ ô( 	‰ÑÔÜ˜DÔ!ØˆŒá“FˆŒ	à×&Ñ& u¸!©n¸bÀ&ÈÁ)ÐTUÐ&ÐVˆŒØ×&Ñ& u¸!©n¸cÀ6È!Á9ÐUVÐ&ÐWˆŒØ×&Ñ& u¸!©n¸cÀ6È!Á9ÐUVÐ&ÐWˆŒØ×&Ñ& u¸!©n¸cÀ6È!Á9ÐUVÐ&ÐWˆŒä×+Ò+¨IÓ6ˆŒÜ—)’)˜C %§/¡/Ñ1°;Ó?ˆŒð —‘—ˆAÜ˜!œRŸY™Y×'Ñ'Ü—‘×'Ñ'¨¯©°yÈvÐ'ÑVØ—6‘6Ñ%Ü—G‘G×%Ñ% a§f¡f¨aÖ0ñ &ä˜AœrŸ~™~×.Ñ.Ü—‘×!Ñ! !§(¡(¨AÔ.Ü—‘×!Ñ! !§&¡&¨!Ö,Ü˜AœrŸy™y×)Ô)Ü—‘—‘ §¡¨!¨TÔ2Ü—‘×!Ñ! !§&¡&¨!×,ñ  ö Ø—\‘\–^�Ü˜a¤×,Ó,Ü—G‘G×%Ñ% a§e¡e§l¡l°AÖ6ò $ð r2   ro   c                 ó  • U R                  U5      nU R                  U5      nU R                  U5      nU R                  U5      nU R	                  U5      nU R                  U5      nUR                  S5      nU R                  U5      nU$ r_   )rš   r¤   r¥   r¦   r§   r©   Úflattenr«   )r.   ro   s     r0   rt   ÚVideoResNet.forwardû   so   € Ø�I‰I�a‹Lˆà�K‰K˜‹NˆØ�K‰K˜‹NˆØ�K‰K˜‹NˆØ�K‰K˜‹Nˆà�L‰L˜‹Oˆà�I‰I�a‹LˆØ�G‰G�A‹Jˆàˆr2   rf   re   Úblocksr!   c           
      ó2  • S nUS:w  d  U R                   X1R                  -  :w  at  UR                  U5      n[        R                  " [        R
                  " U R                   X1R                  -  SUSS9[        R                  " X1R                  -  5      5      n/ nUR                  U" U R                   X2XV5      5        X1R                  -  U l         [        SU5       H%  n	UR                  U" U R                   X25      5        M'     [        R                  " U6 $ )Nr;   F)r(   r!   r)   )	rd   rx   r7   rQ   ri   rR   rS   ÚappendÚrange)
r.   r—   rf   re   r¹   r!   rg   Ú	ds_strider™   Úis
             r0   r£   ÚVideoResNet._make_layer
  sÛ   € ð ˆ
à�Q‹;˜$Ÿ-™-¨6·O±OÑ+CÓCØ$×:Ñ:¸6ÓBˆIÜŸšÜ—	’	˜$Ÿ-™-¨·/±/Ñ)AÈqÐYbÐinÑoÜ—’˜v¯©Ñ7Ó8óˆJð ˆØ�‰‘e˜DŸM™M¨6ÀÓTÔUà§¡Ñ0ˆŒÜ�q˜&Ö!ˆAØ�M‰M™% §¡¨vÓDÖEñ "ô �}Š}˜fÐ%Ð%r2   )r©   r«   rd   r¤   r¥   r¦   r§   rš   )i�  F)r;   )r=   r>   r?   r@   Útyper   rb   r{   r   r   rZ   rH   ÚlistrA   r   rQ   ry   Úboolr,   r	   rt   ri   r£   rD   rE   rF   s   @r0   r   r   Æ   s  ø† ð Ø#(ñ27à�E˜* jÐ0Ñ1Ñ2ð27ð ˜d 5¨Ð7GÈÐ)TÑ#UÑVÑWð27ð �S‘	ð	27ð
 �s˜BŸI™I�~Ñ&ð27ð ð27ð !ð27ð 
÷27ð 27ðh˜ð  Fô ð* ñ&à�E˜* jÐ0Ñ1Ñ2ð&ð ˜5 Ð/?ÀÐ!LÑMÑNð&ð ð	&ð
 ð&ð ð&ð 
�‰÷&ó &r2   r   r—   r˜   r™   rš   .ÚweightsÚprogressÚkwargsr#   c                 ó°   • Ub#  [        US[        UR                  S   5      5        [        XX#40 UD6nUb  UR	                  UR                  USS95        U$ )Nr›   Ú
categoriesT)rÄ   Ú
check_hash)r   ÚlenÚmetar   Úload_state_dictÚget_state_dict)r—   r˜   r™   rš   rÃ   rÄ   rÅ   Úmodels           r0   Ú_video_resnetrÎ   $  s_   € ð ÑÜ˜f m´S¸¿¹ÀlÑ9SÓ5TÔUä˜¨FÑC¸FÑC€EàÑØ×Ñ˜g×4Ñ4¸hÐSWÐ4ÐXÔYà€Lr2   rX   zKhttps://github.com/pytorch/vision/tree/main/references/video_classificationz­The weights reproduce closely the accuracy of the paper. The accuracies are estimated on video-level with parameters `frame_rate=15`, `clips_per_video=5`, and `clip_len=16`.)Úmin_sizerÇ   ÚrecipeÚ_docsc            
       óP   • \ rS rSr\" S\" \SSS90 \ESSSS	S
.0SSS.ES9r\r	Sr
g)r   iC  z7https://download.pytorch.org/models/r3d_18-b3b3357e.pth©ép   rÔ   ©rž   é«   ©Ú	crop_sizeÚresize_sizeiP5ýúKinetics-400gš™™™™™O@g-²�ï§ÞT@©zacc@1zacc@5gð§ÆK7YD@gåÐ"ÛùÖ_@©Ú
num_paramsÚ_metricsÚ_opsÚ
_file_size©ÚurlÚ
transformsrÊ   r5   N©r=   r>   r?   r@   r   r   r   Ú_COMMON_METAÚKINETICS400_V1ÚDEFAULTrD   r5   r2   r0   r   r   C  sT   † ÙØEÙÐ.¸*ÐR\Ñ]ð
Øð
à"àØ#Ø#ñ!ðð Ø!ò
ñ€Nð  ƒGr2   r   c            
       óP   • \ rS rSr\" S\" \SSS90 \ESSSS	S
.0SSS.ES9r\r	Sr
g)r   iW  z7https://download.pytorch.org/models/mc3_18-a90a0ba3.pthrÓ   rÕ   r×   iPu² rÚ   g{®GáúO@g¸…ëQU@rÛ   g–C‹lç«E@g¼t“VF@rÜ   rá   r5   Nrä   r5   r2   r0   r   r   W  sT   † ÙØEÙÐ.¸*ÐR\Ñ]ð
Øð
à"àØ#Ø#ñ!ðð Ø ò
ñ€Nð  ƒGr2   r   c            
       óP   • \ rS rSr\" S\" \SSS90 \ESSSS	S
.0SSS.ES9r\r	Sr
g)r   ik  z<https://download.pytorch.org/models/r2plus1d_18-91a641e6.pthrÓ   rÕ   r×   i­»àrÚ   gƒÀÊ¡ÝP@g33333‹U@rÛ   gßO�—nBD@g1¬Z^@rÜ   rá   r5   Nrä   r5   r2   r0   r   r   k  sT   † ÙØJÙÐ.¸*ÐR\Ñ]ð
Øð
à"àØ#Ø#ñ!ðð Ø!ò
ñ€Nð  ƒGr2   r   Ú
pretrained)rÃ   T)rÃ   rÄ   c                 ór   • [         R                  U 5      n [        [        [        /S-  / SQ[
        U U40 UD6$ )a”  Construct 18 layer Resnet3D model.

.. betastatus:: video module

Reference: `A Closer Look at Spatiotemporal Convolutions for Action Recognition <https://arxiv.org/abs/1711.11248>`__.

Args:
    weights (:class:`~torchvision.models.video.R3D_18_Weights`, optional): The
        pretrained weights to use. See
        :class:`~torchvision.models.video.R3D_18_Weights`
        below for more details, and possible values. By default, no
        pre-trained weights are used.
    progress (bool): If True, displays a progress bar of the download to stderr. Default is True.
    **kwargs: parameters passed to the ``torchvision.models.video.resnet.VideoResNet`` base class.
        Please refer to the `source code
        <https://github.com/pytorch/vision/blob/main/torchvision/models/video/resnet.py>`_
        for more details about this class.

.. autoclass:: torchvision.models.video.R3D_18_Weights
    :members:
r}   ©r   r   r   r   )r   ÚverifyrÎ   rb   r   r„   ©rÃ   rÄ   rÅ   s      r0   r   r     sD   € ô0 ×#Ñ# GÓ,€GäÜÜ	ˆ˜ÑÚÜØØñð ñð r2   c                 ó‚   • [         R                  U 5      n [        [        [        /[
        /S-  -   / SQ[        U U40 UD6$ )a¤  Construct 18 layer Mixed Convolution network as in

.. betastatus:: video module

Reference: `A Closer Look at Spatiotemporal Convolutions for Action Recognition <https://arxiv.org/abs/1711.11248>`__.

Args:
    weights (:class:`~torchvision.models.video.MC3_18_Weights`, optional): The
        pretrained weights to use. See
        :class:`~torchvision.models.video.MC3_18_Weights`
        below for more details, and possible values. By default, no
        pre-trained weights are used.
    progress (bool): If True, displays a progress bar of the download to stderr. Default is True.
    **kwargs: parameters passed to the ``torchvision.models.video.resnet.VideoResNet`` base class.
        Please refer to the `source code
        <https://github.com/pytorch/vision/blob/main/torchvision/models/video/resnet.py>`_
        for more details about this class.

.. autoclass:: torchvision.models.video.MC3_18_Weights
    :members:
r
   rì   )r   rí   rÎ   rb   r   rZ   r„   rî   s      r0   r   r   ¤  sM   € ô0 ×#Ñ# GÓ,€GäÜÜ	ˆÔ*Ð+¨aÑ/Ñ/ÚÜØØñð ñð r2   c                 ór   • [         R                  U 5      n [        [        [        /S-  / SQ[
        U U40 UD6$ )a®  Construct 18 layer deep R(2+1)D network as in

.. betastatus:: video module

Reference: `A Closer Look at Spatiotemporal Convolutions for Action Recognition <https://arxiv.org/abs/1711.11248>`__.

Args:
    weights (:class:`~torchvision.models.video.R2Plus1D_18_Weights`, optional): The
        pretrained weights to use. See
        :class:`~torchvision.models.video.R2Plus1D_18_Weights`
        below for more details, and possible values. By default, no
        pre-trained weights are used.
    progress (bool): If True, displays a progress bar of the download to stderr. Default is True.
    **kwargs: parameters passed to the ``torchvision.models.video.resnet.VideoResNet`` base class.
        Please refer to the `source code
        <https://github.com/pytorch/vision/blob/main/torchvision/models/video/resnet.py>`_
        for more details about this class.

.. autoclass:: torchvision.models.video.R2Plus1D_18_Weights
    :members:
r}   rì   )r   rí   rÎ   rb   rH   r�   rî   s      r0   r   r   É  sD   € ô0 "×(Ñ(¨Ó1€GäÜÜ	ˆ˜ÑÚÜØØñð ñð r2   )Ú
_ModelURLs)r   r   r   )6Úcollections.abcr   Ú	functoolsr   Útypingr   r   r   r   Útorch.nnrQ   Útorchr	   Útransforms._presetsr   Úutilsr   Ú_apir   r   r   Ú_metar   Ú_utilsr   r   Ú__all__rR   r   ri   rH   rZ   ry   rb   r{   r„   r�   r   rÀ   rÁ   rA   rÂ   rÎ   rå   r   r   r   ræ   r   r   r   rñ   râ   Ú
model_urlsr5   r2   r0   Ú<module>rþ      sÏ  ðÝ $Ý ß 1Ó 1å Ý å 6Ý (ß 7Ñ 7Ý +ß Cò€ô&�2—9‘9ô &ô&&�"—-‘-ô &ô.!�r—y‘yô !ô&"�—‘ô "ôJ.�—‘ô .ôb
�—‘ô 
ô
�2—=‘=ô 
ô[&�"—)‘)ô [&ð|Ø��j *Ð,Ñ-Ñ.ðà˜$˜u \Ð3CÀ[Ð%PÑQÑRÑSðð �‰Iðð �3˜Ÿ	™	�>Ñ
"ð	ð
 �kÑ"ðð ðð ðð ôð* Ø)Ø[ð	Sñ€ô�[ô ô(�[ô ô(˜+ô ñ( ÓÙ ,°×0MÑ0MÐ!NÑOØ26Èò  �x Ñ/ð  À$ð  ÐY\ð  Ðalô  ó Pó ð ñF ÓÙ ,°×0MÑ0MÐ!NÑOØ26Èò  �x Ñ/ð  À$ð  ÐY\ð  Ðalô  ó Pó ð ñF ÓÙ ,Ð0C×0RÑ0RÐ!SÑTØ<@ÐSWò  ˜HÐ%8Ñ9ð  ÈDð  Ðcfð  Ðkvô  ó Uó ð õH  ñ à ×/Ñ/×3Ñ3Ø ×/Ñ/×3Ñ3Ø*×9Ñ9×=Ñ=ñó�
r2   