o
    VhE                  	   @   s   d dl Z d dlZd dlZddlmZ dZdd ZzBe jdkrIejdk rIe j	d	 Z
e
d
ZeD ]Ze jerHze e W q/ eyG   Y q/w q/edZeje dZdd ZW n eefye   Y nw dd Zdd Zdd Ze  dS )    N   )_get_extension_pathFc                   C      dS )NF r   r   r   I/var/www/vscode/kcb/lib/python3.10/site-packages/torchvision/extension.py_has_ops      r   nt)   	   PATH;_CTc                   C   r   )NTr   r   r   r   r   r   %   r   c                   C   s   t  stdd S )Na  Couldn't load custom C++ ops. This can happen if your PyTorch and torchvision versions are incompatible, or if you had errors while compiling torchvision from source. For further information on the compatible versions, check https://github.com/pytorch/vision#installation for the compatibility matrix. Please check your PyTorch version with torch.__version__ and your torchvision version with torchvision.__version__ and verify if they are compatible, and if not please reinstall torchvision so that it matches your PyTorch install.)r   RuntimeErrorr   r   r   r   _assert_has_ops,   s
   r   c               
   C   s   t sdS ddlm}  tjj }|dkrc| durct|}t|dk r/t|d }t|d }nt|dd }t|d }| 	d}t|d }t|d	 }||krct
d
| d| d| d| d	|S )z`
    Make sure that CUDA versions match between the pytorch install and torchvision install
    r   )cudaNi'     r
   .r   zqDetected that PyTorch and torchvision were compiled with different CUDA major versions. PyTorch has CUDA Version=z" and torchvision has CUDA Version=zE. Please reinstall the torchvision that matches your PyTorch install.)_HAS_OPStorch.versionr   torchopstorchvision_cuda_versionstrintsplitr   )torch_version_cuda_version
tv_versiontv_majortv_minor	t_versiont_majort_minorr   r   r   _check_cuda_version9   s6   
r&   c                 C   s   t | }tj| d S )N)r   r   r   load_library)lib_namelib_pathr   r   r   _load_libraryW   s   r*   )ossysr   _internally_replaced_utilsr   r   r   nameversion_infoenvironenv_pathr   path_arrpathexistsadd_dll_directory	Exceptionr)   r   r'   ImportErrorOSErrorr   r&   r*   r   r   r   r   <module>   s:    


