
    \hl                     z   S SK Jr  S SKJrJrJr  S SKrS SKJs  J	r
  S SKJr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SKJrJr  / SQrS\\   S\\   S\\   S\\\   \\   4   4S jr \RB                  RE                  S5        S\R                  S\R                  S\\   S\4S jr#\RB                  RE                  S5        S\\\\4   S\\\\4   S\\\\4   4S jr$\RB                  RE                  S5        S\S\\\\4   S\\\\4   S\\\\4   S\4
S jr%\RB                  RE                  S5             SGS\S \S!\S"\S\\   S#\S\\   S$\&S%\&S&\\   S'\\   S(\'S\4S) jjr(\RB                  RE                  S*5         " S+ S,\RR                  5      r* " S- S.\RR                  5      r+ " S/ S0\RR                  5      r,S\\   S1\S2\\   S#\\   S\\   S3\&S4\\   S5\'S6\S\,4S7 jr-\S8S9S:.r. " S; S<\5      r/ " S= S>\5      r0 " S? S@\5      r1\" 5       \" SA\/Rd                  4SB9SSSC.S4\\/   S5\'S6\S\,4SD jj5       5       r3\" 5       \" SA\0Rd                  4SB9SSSC.S4\\0   S5\'S6\S\,4SE jj5       5       r4\" 5       \" SA\1Rd                  4SB9SSSC.S4\\1   S5\'S6\S\,4SF jj5       5       r5g)H    )partial)AnyCallableOptionalN)nnTensor   )VideoClassification)_log_api_usage_once   )register_modelWeightsWeightsEnum)_KINETICS400_CATEGORIES)_ovewrite_named_paramhandle_legacy_interface)PatchMergingSwinTransformerBlock)SwinTransformer3dSwin3D_T_WeightsSwin3D_S_WeightsSwin3D_B_Weightsswin3d_tswin3d_sswin3d_b
shift_sizesize_dhwwindow_sizereturnc                 X    [        S5       H  nX   X#   ::  d  M  X   X#'   SX'   M     X 4$ )Nr	   r   range)r   r   r   is       c/var/www/fran/franai/venv/lib/python3.13/site-packages/torchvision/models/video/swin_transformer.py_get_window_and_shift_sizer%       s9     1X;+.(%[KNJM	  ""    r%   relative_position_bias_tablerelative_position_indexc                     US   US   -  US   -  nU US U2S U24   R                  5          nUR                  X3S5      nUR                  SSS5      R                  5       R	                  S5      nU$ )Nr      r   )flattenviewpermute
contiguous	unsqueeze)r'   r(   r   
window_volrelative_position_biass        r$   _get_relative_position_biasr3   /   s     Q+a.0;q>AJ9[j[ 89AAC 488QST3;;Aq!DOOQ[[\]^!!r&   r3   
patch_sizec                     [        S5       Vs/ s H  o!U   X   X   -  -
  X   -  PM     nnUS   US   US   4$ s  snf )Nr	   r   r*   r   r!   )r   r4   r#   pad_sizes       r$   _compute_pad_size_3dr7   ?   sU    W\]^W_`W_RSAz}!<<
MW_H`A;Xa[00 as   ;r7   xc           
         U R                   " U6 nUS   US   -  US   US   -  -  US   US   -  -  n[        S5       Vs/ s H  nSX&   * 4X&   * X6   * 4X6   * S 44PM     nnSnUS    H?  n	US    H3  n
US    H'  nXU	S   U	S   2U
S   U
S   2US   US   24'   US-  nM)     M5     MA     UR                  US   US   -  US   US   US   -  US   US   US   -  US   5      nUR                  SSSSSS5      R	                  XRS   US   -  US   -  5      nUR                  S5      UR                  S5      -
  nUR                  US:g  [        S5      5      R                  US:H  [        S5      5      nU$ s  snf )	Nr   r*   r   r	         g      Y        )	new_zerosr"   r-   r.   reshaper0   masked_fillfloat)r8   r   r   r   	attn_masknum_windowsr#   slicescountdhws               r$   _compute_attention_mask_3drH   G   s    X&IA;+a.0Xa[KPQN5RSW_`aWbfqrsftWtuK q A	  n_z}n-m^T"	

    EAYAAYCH!A$1+qtad{AaD1Q4K?@
    {1~%A{1~%A{1~%AI !!!Q1a3;;^k!n4{1~EI ##A&)<)<Q)??I%%i1neFmDPPQZ^_Q_afgjaklI;s    !E:rH   Tinput
qkv_weightproj_weightr2   	num_headsattention_dropoutdropoutqkv_bias	proj_biastrainingc                 *   U R                   u  ppn[        XU4US   US   US   45      n[        R                  " U SSSUS   SUS   SUS   45      nUR                   u  nnnnnUUU4n[	        U5      S:  a%  [
        R                  " UUS   * US   * US   * 4SS9nUS   US   -  US   US   -  -  US   US   -  -  nUR                  UUS   US   -  US   US   US   -  US   US   US   -  US   U5      nUR                  SSSSSSS	S
5      R                  UU-  US   US   -  US   -  U5      n[        R                  " UX5      nUR                  UR                  S5      UR                  S5      SUUU-  5      R                  SSSSS5      nUS   US   US   nnnUUU-  S-  -  nUR                  UR                  SS5      5      nUU-   n[	        U5      S:  a  [        UUS   US   US   4US   US   US   4US   US   US   45      nUR                  UR                  S5      U-  UUUR                  S5      UR                  S5      5      nUUR                  S5      R                  S5      -   nUR                  SUUR                  S5      UR                  S5      5      n[        R                   " USS9n[        R"                  " UX{S9nUR                  U5      R                  SS5      R                  UR                  S5      UR                  S5      U5      n[        R                  " UX*5      n[        R"                  " UXS9nUR                  UUS   US   -  US   US   -  US   US   -  US   US   US   U5      nUR                  SSSSSSS	S
5      R                  UUUUU5      n[	        U5      S:  a"  [
        R                  " UUS   US   US   4SS9nUSS2SU2SU2SU2SS24   R%                  5       nU$ )a  
Window based multi-head self attention (W-MSA) module with relative position bias.
It supports both of shifted and non-shifted window.
Args:
    input (Tensor[B, T, H, W, C]): The input tensor, 5-dimensions.
    qkv_weight (Tensor[in_dim, out_dim]): The weight tensor of query, key, value.
    proj_weight (Tensor[out_dim, out_dim]): The weight tensor of projection.
    relative_position_bias (Tensor): The learned relative position bias added to attention.
    window_size (List[int]): 3-dimensions window size, T, H, W .
    num_heads (int): Number of attention heads.
    shift_size (List[int]): Shift size for shifted window attention (T, H, W).
    attention_dropout (float): Dropout ratio of attention weight. Default: 0.0.
    dropout (float): Dropout ratio of output. Default: 0.0.
    qkv_bias (Tensor[out_dim], optional): The bias tensor of query, key, value. Default: None.
    proj_bias (Tensor[out_dim], optional): The bias tensor of projection. Default: None.
    training (bool, optional): Training flag used by the dropout parameters. Default: True.
Returns:
    Tensor[B, T, H, W, C]: The output tensor after shifted window attention.
r   r*   r   )r*   r   r	   )shiftsdimsr	   r;   r:         g      r+   )dim)prQ   N)shaper7   Fpadsumtorchrollr-   r.   r>   linearsizematmul	transposerH   r0   softmaxrN   r/   )rI   rJ   rK   r2   r   rL   r   rM   rN   rO   rP   rQ   btrF   rG   cr6   r8   _tphpwppadded_sizerB   qkvqkvattnrA   s                                  r$   shifted_window_attention_3drr   s   s   B KKMA!#Q1IAAP[\]P^/_`H	eaAx{Ax{Ax{KLAwwAr2r1r2,K :JJq:a=.:a=.:a=.!QXab 
Q;q>	)k!nA.NOS^_`SaepqresSst  	
	A+a.(AA+a.(AA+a.(A			A 	
		!Q1aAq)11	KQ+a.8;q>I1	A
 ((1j
+C
++affQiAy!y.
I
Q
QRSUVXY[\^_
`C!fc!fc!f!qA	Q)^$$A88AKKB'(D((D
:.^[^[^<^[^[^<]JqM:a=9	
	 yyk1;	166RS9VWV\V\]^V_`i))!,66q99yyYq	166!9=99Tr"D99T.BDA  A&..qvvay!&&)QGA	K+A			!w2A 	
	A+a.(A+a.(A+a.(AAA			A 	
		!Q1aAq)11!RRCA :JJq*Q-A
1!NU^_ 	
!RaR!RaR
&&(AHr&   rr   c                      ^  \ rS rSrSr    SS\S\\   S\\   S\S\S\S	\S
\SS4U 4S jjjr	SS jr
SS jrS\\   S\R                  4S jrS\S\4S jrSrU =r$ )ShiftedWindowAttention3d   z*
See :func:`shifted_window_attention_3d`.
rX   r   r   rL   rO   rP   rM   rN   r   Nc	                 ^  > [         T	U ]  5         [        U5      S:w  d  [        U5      S:w  a  [        S5      eX l        X0l        X@l        Xpl        Xl        [        R                  " XS-  US9U l        [        R                  " XUS9U l        U R                  5         U R                  5         g )Nr	   z.window_size and shift_size must be of length 2)bias)super__init__len
ValueErrorr   r   rL   rM   rN   r   Linearrm   proj#define_relative_position_bias_tabledefine_relative_position_index)
selfrX   r   r   rL   rO   rP   rM   rN   	__class__s
            r$   ry   !ShiftedWindowAttention3d.__init__   s     	{q C
Oq$8MNN&$"!299S'9IIcY7	002++-r&   c                 F   [         R                  " [        R                  " SU R                  S   -  S-
  SU R                  S   -  S-
  -  SU R                  S   -  S-
  -  U R
                  5      5      U l        [         R                  R                  U R                  SS9  g )Nr   r   r*   {Gz?std)	r   	Parameterr^   zerosr   rL   r'   inittrunc_normal_)r   s    r$   r~   <ShiftedWindowAttention3d.define_relative_position_bias_table  s    ,.LLKKT%%a((1,T5E5Ea5H1H11LMQRUYUeUefgUhQhklQlm-
) 	d??TJr&   c           	      v   [        S5       Vs/ s H&  n[        R                  " U R                  U   5      PM(     nn[        R                  " [        R
                  " US   US   US   SS95      n[        R                  " US5      nUS S 2S S 2S 4   US S 2S S S 24   -
  nUR                  SSS5      R                  5       nUS S 2S S 2S4==   U R                  S   S-
  -  ss'   US S 2S S 2S4==   U R                  S   S-
  -  ss'   US S 2S S 2S4==   U R                  S   S-
  -  ss'   US S 2S S 2S4==   SU R                  S   -  S-
  SU R                  S   -  S-
  -  -  ss'   US S 2S S 2S4==   SU R                  S   -  S-
  -  ss'   UR                  S5      nU R                  SU5        g s  snf )	Nr	   r   r*   r   ij)indexingr+   r(   )r"   r^   aranger   stackmeshgridr,   r.   r/   r]   register_buffer)r   r#   
coords_dhwcoordscoords_flattenrelative_coordsr(   s          r$   r   7ShiftedWindowAttention3d.define_relative_position_index  s   AFqJAell4#3#3A#67
JNN:a=*Q-AQUV
 vq1(At4~aqj7QQ)11!Q:EEG1a D$4$4Q$7!$;; 1a D$4$4Q$7!$;; 1a D$4$4Q$7!$;; 1a Q)9)9!)<%<q%@QIYIYZ[I\E\_`E`$aa 1a A(8(8(;$;a$?? "1"5"5b"968OP Ks   -F6c                 D    [        U R                  U R                  U5      $ )N)r3   r'   r(   )r   r   s     r$   get_relative_position_bias3ShiftedWindowAttention3d.get_relative_position_bias#  s    *4+L+LdNjNjlwxxr&   r8   c                    UR                   u  p#pEnX4U/nU R                  R                  5       U R                  R                  5       p[	        XU5      u  pxU R                  U5      n	[        UU R                  R                  U R                  R                  U	UU R                  UU R                  U R                  U R                  R                  U R                  R                  U R                  S9$ )N)r   rM   rN   rO   rP   rQ   )rZ   r   copyr   r%   r   rr   rm   weightr}   rL   rM   rN   rw   rQ   )
r   r8   rh   rf   rF   rG   r   r   r   r2   s
             r$   forward ShiftedWindowAttention3d.forward&  s    aA!9"&"2"2"7"7"94??;O;O;QZ"<ZS^"_!%!@!@!M*HHOOII"NN!"44LLXX]]iinn]]
 	
r&   )rM   rN   rL   r}   rm   r'   r   r   )TTr<   r<   )r   N)__name__
__module____qualname____firstlineno____doc__intlistboolr@   ry   r~   r   r^   r   r   r   __static_attributes____classcell__r   s   @r$   rt   rt      s     #&.. #Y. I	.
 . . . !. . 
. .6KQ&yd3i yELL y
 
F 
 
r&   rt   c                      ^  \ rS rSrSr   SS\\   S\S\S\\S\	R                  4      S	S4
U 4S
 jjjrS\S	\4S jrSrU =r$ )PatchEmbed3diA  a#  Video to Patch Embedding.

Args:
    patch_size (List[int]): Patch token size.
    in_channels (int): Number of input channels. Default: 3
    embed_dim (int): Number of linear projection output channels. Default: 96.
    norm_layer (nn.Module, optional): Normalization layer. Default: None
Nr4   in_channels	embed_dim
norm_layer.r   c                   > [         TU ]  5         [        U 5        US   US   US   4U l        [        R
                  " UUU R                  U R                  S9U l        Ub  U" U5      U l        g [        R                  " 5       U l        g )Nr   r*   r   )kernel_sizestride)	rx   ry   r   tuple_patch_sizer   Conv3dr}   normIdentity)r   r4   r   r   r   r   s        r$   ry   PatchEmbed3d.__init__K  s|     	D!!+A
1z!} MII--((	
	 !"9-DIDIr&   r8   c           
      2   UR                  5       u    p#pE[        X4U4U R                  5      n[        R                  " USUS   SUS   SUS   45      nU R                  U5      nUR                  SSSSS5      nU R                  b  U R                  U5      nU$ )zForward function.r   r   r*   r	   r:   )ra   r7   r   r[   r\   r}   r.   r   )r   r8   rh   rf   rF   rG   r6   s          r$   r   PatchEmbed3d.forwarda  s     1'q	43H3HIEE!a!a!a!EFIIaLIIaAq!$99 		!Ar&   )r   r}   r   )r	   `   N)r   r   r   r   r   r   r   r   r   r   Modulery   r   r   r   r   r   s   @r$   r   r   A  s{     9=&I& & 	&
 Xc299n56& 
& &,
 
F 
 
r&   r   c                    6  ^  \ rS rSrSrSSSSSSS\S4	S\\   S	\S
\\   S\\   S\\   S\S\S\S\S\S\	\
S\R                  4      S\	\
S\R                  4      S\
S\R                  4   S\	\
S\R                  4      SS4U 4S jjjrS\S\4S jrSrU =r$ )r   in  a  
Implements 3D Swin Transformer from the `"Video Swin Transformer" <https://arxiv.org/abs/2106.13230>`_ paper.
Args:
    patch_size (List[int]): Patch size.
    embed_dim (int): Patch embedding dimension.
    depths (List(int)): Depth of each Swin Transformer layer.
    num_heads (List(int)): Number of attention heads in different layers.
    window_size (List[int]): Window size.
    mlp_ratio (float): Ratio of mlp hidden dim to embedding dim. Default: 4.0.
    dropout (float): Dropout rate. Default: 0.0.
    attention_dropout (float): Attention dropout rate. Default: 0.0.
    stochastic_depth_prob (float): Stochastic depth rate. Default: 0.1.
    num_classes (int): Number of classes for classification head. Default: 400.
    norm_layer (nn.Module, optional): Normalization layer. Default: None.
    block (nn.Module, optional): SwinTransformer Block. Default: None.
    downsample_layer (nn.Module): Downsample layer (patch merging). Default: PatchMerging.
    patch_embed (nn.Module, optional): Patch Embedding layer. Default: None.
g      @r<   皙?i  Nr4   r   depthsrL   r   	mlp_ratiorN   rM   stochastic_depth_probnum_classesr   .blockdownsample_layerpatch_embedr   c                 4  > [         TU ]  5         [        U 5        Xl        Uc  [	        [
        [        S9nUc  [	        [        R                  SS9nUc  [        nU" XUS9U l
        [        R                  " US9U l        / n[        U5      nSn[        [        U5      5       H  n/ nUSU-  -  n[        UU   5       H`  nU	[!        U5      -  US-
  -  nUR#                  U" UUU   UU Vs/ s H  nUS-  S:X  a  SOUS-  PM     snUUUUU[        S	9
5        US-  nMb     UR#                  [        R$                  " U6 5        U[        U5      S-
  :  d  M  UR#                  U" UU5      5        M     [        R$                  " U6 U l        US[        U5      S-
  -  -  U l        U" U R(                  5      U l        [        R,                  " S5      U l        [        R0                  " U R(                  U
5      U l        U R5                  5        H  n[7        U[        R0                  5      (       d  M$  [        R8                  R;                  UR<                  S
S9  UR>                  c  M[  [        R8                  RA                  UR>                  5        M     g s  snf )N)
attn_layergh㈵>)eps)r4   r   r   )rY   r   r   r*   )r   r   r   rN   rM   r   r   r   r   r   )!rx   ry   r   r   r   r   rt   r   	LayerNormr   r   Dropoutpos_dropr]   r"   rz   r@   append
Sequentialfeaturesnum_featuresr   AdaptiveAvgPool3davgpoolr|   headmodules
isinstancer   r   r   rw   zeros_)r   r4   r   r   rL   r   r   rN   rM   r   r   r   r   r   r   layerstotal_stage_blocksstage_block_idi_stagestagerX   i_layersd_probrG   mr   s                            r$   ry   SwinTransformer3d.__init__  sE   " 	D!&=0=UVE 48J&K '*^hi

W-"$ [S[)G%'Eaj(C 1/%2GGK]`aKab!'*$/OZ#[{!1)9AqAv$E{#["+ '*;.5#-#; !## 2$ MM"--/0#f+/*.sJ?@1 *2 v.%c&kAo(>>t001	++A.IId//=	A!RYY''%%ahhD%966%GGNN166*	  + $\s   +Jr8   c                 *   U R                  U5      nU R                  U5      nU R                  U5      nU R                  U5      nUR	                  SSSSS5      nU R                  U5      n[        R                  " US5      nU R                  U5      nU$ )Nr   r:   r*   r   r	   )	r   r   r   r   r.   r   r^   r,   r   )r   r8   s     r$   r   SwinTransformer3d.forward  s    QMM!MM!IIaLIIaAq!$LLOMM!QIIaLr&   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r@   r   r   r   r   ry   r   r   r   r   r   s   @r$   r   r   n  s@   4 #&'*9=485A:>J+IJ+ J+ S		J+
 9J+ #YJ+ J+ J+ !J+  %J+ J+ Xc299n56J+ bii01J+ #3		>2J+ hsBII~67J+  
!J+ J+X
 
F 
 
r&   r   r   r   r   weightsprogresskwargsc           
          Ub#  [        US[        UR                  S   5      5        [        SU UUUUUS.UD6n	Ub  U	R	                  UR                  USS95        U	$ )Nr   
categories)r4   r   r   rL   r   r   T)r   
check_hash )r   rz   metar   load_state_dictget_state_dict)
r4   r   r   rL   r   r   r   r   r   models
             r$   _swin_transformer3dr     s{     fmSl9S5TU 3 E g44hSW4XYLr&   )r*   r*   r*   )r   min_sizemin_temporal_sizec                   X    \ rS rSr\" S\" \SSSSS90 \ESS	S
SSSS.0SSS.ES9r\r	Sr
g)r   i   z9https://download.pytorch.org/models/swin3d_t-7615ae03.pth   r      g
ףp=
?gv/?gCl?gZd;O?gy&1?g?	crop_sizeresize_sizemeanr   Fhttps://github.com/SwinTransformer/Video-Swin-Transformer#kinetics-400The weights were ported from the paper. The accuracies are estimated on video-level with parameters `frame_rate=15`, `clips_per_video=12`, and `clip_len=32`ivKinetics-400g(\mS@gK7aW@zacc@1zacc@5g7A`E@gnb^@recipe_docs
num_params_metrics_ops
_file_sizeurl
transformsr   r   Nr   r   r   r   r   r   r
   _COMMON_METAKINETICS400_V1DEFAULTr   r   r&   r$   r   r      h    G )(


^[ ###! !
N6 Gr&   r   c                   X    \ rS rSr\" S\" \SSSSS90 \ESS	S
SSSS.0SSS.ES9r\r	Sr
g)r   i  z9https://download.pytorch.org/models/swin3d_s-da41c237.pthr   r   r   r   r   r   r   if$r   gMbXS@g'1W@r   gҵT@gK7Ik@r   r  r   Nr  r   r&   r$   r   r     r  r&   r   c                       \ rS rSr\" S\" \SSSSS90 \ESS	S
SSSS.0SSS.ES9r\" S\" \SSSSS90 \ESS	S
SSSS.0SSS.ES9r	\r
Srg)r   i>  z<https://download.pytorch.org/models/swin3d_b_1k-24f7c7c6.pthr   r   r   r   r   r   r   iX?r   gSS@gbX9W@r   gMbXa@g/$v@r   r  z=https://download.pytorch.org/models/swin3d_b_22k-7c6ae6fa.pthgx&iT@g~jW@r   N)r   r   r   r   r   r   r
   r  r	  KINETICS400_IMAGENET22K_V1r
  r   r   r&   r$   r   r   >  s    J )(


^[ ###! !
N6 ")K )(


^[ ###! !
"6 Gr&   r   
pretrained)r   )r   r   c                 d    [         R                  U 5      n [        S/ SQS/ SQ/ SQ/ SQSU US.UD6$ )	as  
Constructs a swin_tiny architecture from
`Video Swin Transformer <https://arxiv.org/abs/2106.13230>`_.

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

.. autoclass:: torchvision.models.video.Swin3D_T_Weights
    :members:
r   r:   r:   r   )r   r   rU   r   r	   rU            rV   rV   r   r4   r   r   rL   r   r   r   r   r   )r   verifyr   r   r   r   s      r$   r   r   x  sH    . %%g.G 
 !
 
 
r&   c                 d    [         R                  U 5      n [        S/ SQS/ SQ/ SQ/ SQSU US.UD6$ )	at  
Constructs a swin_small architecture from
`Video Swin Transformer <https://arxiv.org/abs/2106.13230>`_.

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

.. autoclass:: torchvision.models.video.Swin3D_S_Weights
    :members:
r  r   r   r      r   r  r  r   r  r   )r   r  r   r  s      r$   r   r     sH    . %%g.G 
 !
 
 
r&   c                 d    [         R                  U 5      n [        S/ SQS/ SQ/ SQ/ SQSU US.UD6$ )	as  
Constructs a swin_base architecture from
`Video Swin Transformer <https://arxiv.org/abs/2106.13230>`_.

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

.. autoclass:: torchvision.models.video.Swin3D_B_Weights
    :members:
r     r  )r:   r         r  r   r  r   )r   r  r   r  s      r$   r   r     sH    . %%g.G 
 !
 
 
r&   )r<   r<   NNT)6	functoolsr   typingr   r   r   r^   torch.nn.functionalr   
functionalr[   r   transforms._presetsr
   utilsr   _apir   r   r   _metar   _utilsr   r   swin_transformerr   r   __all__r   r   tupler%   fxwrapr3   r7   rH   r@   r   rr   r   rt   r   r   r   r  r   r   r   r	  r   r   r   r   r&   r$   <module>r/     sQ    * *     6 ( 7 7 + C A	#S		#%)#Y	#=A#Y	#
49d3i 	# * +
""',,
"IN
"dhildm
"
" + ,15c3#7 1U3PSUX=EY 1^cdgilnqdq^r 1
 $ %&&CcM"& sC}%& c3m$	&
 &R * +  #!%"&mmm m #	m
 cm m S	m m m vm m m m` + ,V
ryy V
v*299 *Zj		 jZS	 I Cy	
 c ! k"   > *{ >{ >7{ 7t ,0@0O0O!PQ6:T !"23 !d !]` !ev ! R !H ,0@0O0O!PQ6:T !"23 !d !]` !ev ! R !H ,0@0O0O!PQ6:T !"23 !d !]` !ev ! R !r&   