
    sh                     l    S SK r S SKJr  S SKJr  S SKrS SKrS SKJr   " S S\5      r	 " S S\5      r
g)	    N)reduce)
deprecated)Functionc                   H    \ rS rSr\\" S\S9S 5       5       r\S 5       rSr	g)Type   zt`torch.autograd._functions.Type` is deprecated as of PyTorch 2.1, please use `torch.tensor.to(dtype=dtype)` instead.)categoryc                     [        U5      U l        UR                  (       d  SOUR                  5       U l        UR                  U5      $ N)type
input_typeis_cuda
get_deviceinput_device)ctxi	dest_types      t/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/autograd/_functions/tensor.pyforwardType.forward   s4     a%&YY2ALLNvvi      c                    U R                   S:X  a  UR                  U R                  5      S 4$ [        R                  R                  U R                   5         UR                  U R                  5      S 4sS S S 5        $ ! , (       d  f       g = fr   )r   r   r   torchcudadevicer   grad_outputs     r   backwardType.backward   se    r!##CNN3T99""3#3#34"''7= 544s   A>>
B N)
__name__
__module____qualname____firstlineno__staticmethodr   FutureWarningr   r   __static_attributes__r!   r   r   r   r      s=    	=
! !
 > >r   r   c                   4    \ rS rSr\S 5       r\S 5       rSrg)Resize!   c                    X l         [        [        R                  US5      U l        UR	                  5       U R                  :w  a}  [        SR                  SR                  [        [        U5      5      U R                  SR                  [        [        UR                  5       5      5      UR	                  5       5      5      eUR                  5       U l        UR                  (       a.  UR                  U5        UR                  5       R                  " U6 $ UR!                  5       (       a.  UR#                  U5      R                  5       R                  " U6 nU$ UR                  5       R                  " U6 $ )N   zrequested resize to {} ({} elements in total), but the given tensor has a size of {} ({} elements). autograd's resize can only change the shape of a given tensor, while preserving the number of elements. x)sizesr   operatormulnumelRuntimeErrorformatjoinmapstrsizeinput_sizesis_quantizedcopy_
contiguousviewis_contiguousnew)r   tensorr/   results       r   r   Resize.forward"   s   	8<<2	<<>SYY&H &HHSe_-IIHHSfkkm45LLN	  !++-LL $$&++U33!!ZZ'224995AFM$$&++U33r   c                     UR                  5       U R                   :X  d   eUR                  5       R                  U R                  5      S 4$ )N)r2   r<   r=   r9   r   s     r   r   Resize.backward>   s@      "cii///%%',,S__=tCCr   r!   N)r"   r#   r$   r%   r&   r   r   r(   r!   r   r   r*   r*   !   s*    4 46 D Dr   r*   )r0   	functoolsr   typing_extensionsr   r   torch._utilstorch.autograd.functionr   r   r*   r!   r   r   <module>rI      s1      (   ,>8 >, DX  Dr   