
    Ph'                     &    d dl mZ ddZddZd Zy)    )reducec                 n    |r| j                         |k(  r| S | j                         j                  |      S N)size
contiguousview)tensorr   check_same_sizes      jC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torch/autograd/_functions/utils.py
maybe_viewr      s1    6;;=D0##D))    c                 x   |r| j                         |k(  r| S | j                         t        |      z
  }t        t	        | j                         |d  |            D cg c]  \  }\  }}||k7  r| }}}}t        |      D ]  }| j                  dd      }  |D ]  }| j                  |d      }  | S c c}}}w )Nr   F)keepdimT)r   dimlen	enumerateziprangesum)	r	   old_sizer
   num_unsqueezedr   expandedoriginalexpanded_dims_s	            r   maybe_unexpandr   
   s    6;;=H4ZZ\CM1N *3no.9*
*
%C%(H x	 	*
   >"Au- #C. Ms   B5c                    d}d}t        |       }t        |      }t        d |       }t        d |      }||k  r
d}|dk7  r+d}n(||kD  rd}|dk7  r| ||z
  d  |k7  rd}n| |k7  r	d}|dk7  rd}|st        d|  d|       |S )NFTc                     | |z  S r    xys     r   <lambda>z&check_onnx_broadcast.<locals>.<lambda>)       Qr   c                     | |z  S r   r   r    s     r   r#   z&check_onnx_broadcast.<locals>.<lambda>*   r$   r      zCNumpy style broadcasting is not supported in ONNX. Input dims are: z, )r   r   
ValueError)dims1dims2	broadcast	supportedlen1len2numel1numel2s           r   check_onnx_broadcastr0   $   s    IIu:Du:D&.F&.Fd{	Q;I		Q;5/58IE>I{!	QRWQXXZ[`Zab
 	
 r   N)T)	functoolsr   r   r   r0   r   r   r   <module>r2      s    *4r   