U
    <þjgE  ã                	   @   sò   d dl Z d dlZd dlZddlmZ dZdd„ Zz†e jdkr”ejdk r”e j	d	 Z
e
 d
¡ZeD ]4Ze j e¡r^ze  e¡ W q^ ek
r   Y q^X q^edƒZej e¡ dZdd„ ZW n eefk
rÎ   Y nX dd„ Zdd„ Zdd„ Zeƒ  dS )é    Né   )Ú_get_extension_pathFc                   C   s   dS )NF© r   r   r   ú9/tmp/pip-unpacked-wheel-xh8d94dr/torchvision/extension.pyÚ_has_ops   s    r   Únt)é   é	   ÚPATHú;Z_CTc                   C   s   dS )NTr   r   r   r   r   r   %   s    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rÆ| dk	rÆt|ƒ}t|ƒdk r^t|d ƒ}t|d ƒ}nt|dd… ƒ}t|d ƒ}|  	d¡}t|d ƒ}t|d	 ƒ}||krÆt
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_OPSZtorch.versionr   ÚtorchÚopsZtorchvisionZ_cuda_versionÚstrÚintÚsplitr   )Ztorch_version_cudaÚ_versionZ
tv_versionZtv_majorZtv_minorZ	t_versionZt_majorZt_minorr   r   r   Ú_check_cuda_version9   s&    
ÿr   c                 C   s   t | ƒ}tj |¡ d S )N)r   r   r   Úload_library)Zlib_nameÚlib_pathr   r   r   Ú_load_libraryW   s    r   )ÚosÚsysr   Z_internally_replaced_utilsr   r   r   ÚnameÚversion_infoÚenvironZenv_pathr   Zpath_arrÚpathÚexistsZadd_dll_directoryÚ	Exceptionr   r   r   ÚImportErrorÚOSErrorr   r   r   r   r   r   r   Ú<module>   s2   

