Ë
    ÄÓ^jÀ	  ã                   ól   — d dl Z d dlmZ d dlmZ d dlZd dlZd dlmZ  G d„ de«      Z	 G d„ de«      Z
y)	é    N)Úreduce)Ú
deprecated)ÚFunctionc                   óF   — e Zd Ze ede¬«      d„ «       «       Zed„ «       Zy)ÚTypezt`torch.autograd._functions.Type` is deprecated as of PyTorch 2.1, please use `torch.tensor.to(dtype=dtype)` instead.)Úcategoryc                 óŠ   — t        |«      | _        |j                  sdn|j                  «       | _        |j                  |«      S ©Néÿÿÿÿ)ÚtypeÚ
input_typeÚis_cudaÚ
get_deviceÚinput_device)ÚctxÚiÚ	dest_types      úk/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/autograd/_functions/tensor.pyÚforwardzType.forward   s4   € ô ˜a›ˆŒØ%&§Y¢Y™2°A·L±L³NˆÔØ�v‰v�iÓ Ð ó    c                 ó  — | j                   dk(  r|j                  | j                  «      d fS t        j                  j                  | j                   «      5  |j                  | j                  «      d fcd d d «       S # 1 sw Y   y xY wr
   )r   r   r   ÚtorchÚacceleratorÚdevice_index©r   Úgrad_outputs     r   ÚbackwardzType.backward   sr   € ð ×Ñ˜rÒ!Ø×#Ñ# C§N¡NÓ3°TÐ9Ð9ä×"Ñ"×/Ñ/°×0@Ñ0@ÓAñ >Ø"×'Ñ'¨¯©Ó7¸Ð=÷>÷ >ò >ús   ÁA=Á=BN)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   ÚFutureWarningr   r   © r   r   r   r      s=   „ ØÙð	=àôñ!óó ð!ð
 ñ>ó ñ>r   r   c                   ó,   — e Zd Zed„ «       Zed„ «       Zy)ÚResizec                 óØ  — || _         t        t        j                  |d«      | _        |j	                  «       | j                  k7  r}t        dj                  dj                  t        t        |«      «      | j                  dj                  t        t        |j                  «       «      «      |j	                  «       «      «      ‚|j                  «       | _        |j                  r.|j                  |«        |j                  «       j                  |Ž S |j!                  «       r. |j#                  |«      j                  «       j                  |Ž }|S  |j                  «       j                  |Ž S )Né   zÌrequested 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   zResize.forward$   s  € ð ˆŒ	Üœ8Ÿ<™<¨°Ó2ˆŒ	Ø�<‰<‹>˜SŸY™YÒ&ÜðH÷ ‘&Ø—H‘HœS¤ e›_Ó-Ø—I‘IØ—H‘HœS¤ f§k¡k£mÓ4Ó5Ø—L‘L“Nó	óð ð !Ÿ+™+›-ˆŒØ×ÒØ�L‰L˜Ô Ø+�6×$Ñ$Ó&×+Ñ+¨UÐ3Ð3Ø×ÑÔ!Ø9�V—Z‘Z Ó'×2Ñ2Ó4×9Ñ9¸5ÐAˆFØˆMà+�6×$Ñ$Ó&×+Ñ+¨UÐ3Ð3r   c                 óä   — |j                  «       | j                   k7  r)t        d| j                   › d|j                  «       › �«      ‚|j                  «       j                  | j                  «      d fS )NzExpected grad_output to have z elements, but got )r,   ÚAssertionErrorr6   r7   r3   r   s     r   r   zResize.backwardA   sj   € ð ×ÑÓ #§)¡)Ò+Ü Ø/°·	±	¨{Ð:MÈk×N_ÑN_ÓNaÐMbÐcóð ð ×%Ñ%Ó'×,Ñ,¨S¯_©_Ó=¸tÐCÐCr   N)r   r   r    r!   r   r   r#   r   r   r%   r%   #   s*   „ Øñ4ó ð4ð6 ñDó ñDr   r%   )r*   Ú	functoolsr   Útyping_extensionsr   r   Útorch._utilsÚtorch.autograd.functionr   r   r%   r#   r   r   ú<module>rB      s1   ðã Ý Ý (ã Û Ý ,ô>ˆ8ô >ô0%DˆXõ %Dr   