
    Ph/	                     B   U d dl mZmZmZmZ d dlZd dlmZ d dlmZ d dl	m
Z
 dee   fdZdee   fdZeeee         Ze
ed	<   ee   Ze
ed
<    e       	 ddededeeej&                  ej(                  f   eeef   f   fd       Zdee   dej&                  defdZy)    )ListDictTupleOptionalN)Tensor)no_grad)	TypeAliasreturnc                  D    ddt         j                  j                         gS )z:Return the device type list that supports foreach kernels.cudaxputorch_C_get_privateuse1_backend_name     eC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torch/utils/_foreach_utils.py&_get_foreach_kernels_supported_devicesr          E588AACDDr   c                  D    ddt         j                  j                         gS )zEReturn the device type list that supports fused kernels in optimizer.r   r   r   r   r   r   $_get_fused_kernels_supported_devicesr      r   r   TensorListListIndicestensorlistlistwith_indicesc           
          t         j                  j                  | |      j                         D ci c]  \  \  }}}|t	        t         |      f| c}}}S c c}}}w N)r   r   "_group_tensors_by_device_and_dtypeitemsgetattr)r   r   device	str_dtypevalues        r   r   r      sc     	33NLQWWY 	Z 'VY 
	*+U2Y  s    Atensorsr"   c                     |j                   t        t               dgz         vst        j                  j                         ryt        d | D              S )NcpuFc              3   `   K   | ]&  }|d u xs t        |      t        j                  k(   ( y wr   )typer   r   ).0ts     r   	<genexpr>z'_has_foreach_support.<locals>.<genexpr>-   s*     EWqDy3DGu||33Ws   ,.)r)   setr   r   jitis_scriptingall)r%   r"   s     r   _has_foreach_supportr1   *   sD    {{#DF%PQQUZU^U^UkUkUmEWEEEr   )F)typingr   r   r   r   r   r   torch.autograd.grad_moder   typing_extensionsr	   strr   r   r   __annotations__intr   boolr"   dtyper   r1   r   r   r   <module>r:      s    . .   , 'ES	 EEd3i E !hv&6!78	 8#Y  	 " 
%ekk)
*E.'2I,J
JK F$v, F F Fr   