U
    ­Ê¹j(  ã                   @   s   d dl Z d dlZd dlmZ d dlZd dlmZmZmZm	Z	m
Z
mZmZ ddlmZ zddlmZ W n ek
rx   Y nX esÄe j e j e¡¡e j e j e  ¡ ¡d¡krÄdZe e e  ¡ ¡¡ d	ad
add„ Zdd„ Zdd„ Zdd„ Z dd„ Z!dd„ Z"dS )é    N)ÚModule)Ú_meta_registrationsÚdatasetsÚioÚmodelsÚopsÚ
transformsÚutilsé   )Ú_HAS_OPS)Ú__version__ÚtorchvisionzÁYou are importing torchvision within its own root folder ({}). This is not expected to work and may give errors. Please exit the torchvision project source and relaunch your python interpreter.ÚPILÚpyavc                 C   s    | dkrt d| › d�ƒ‚| adS )a*  
    Specifies the package used to load images.

    Args:
        backend (string): Name of the image backend. one of {'PIL', 'accimage'}.
            The :mod:`accimage` package uses the Intel IPP library. It is
            generally faster than PIL, but does not support as many operations.
    )r   ZaccimagezInvalid backend 'z#'. Options are 'PIL' and 'accimage'N)Ú
ValueErrorÚ_image_backend)Úbackend© r   úS/var/www/html/bwave/python/venv/lib/python3.8/site-packages/torchvision/__init__.pyÚset_image_backend    s    
r   c                   C   s   t S )z:
    Gets the name of the package used to load images
    )r   r   r   r   r   Úget_image_backend/   s    r   c                 C   sT   | dkrt d|  ƒ‚| dkr0tjs0d}t|ƒ‚n | dkrLtjsLd}t|ƒ‚n| adS )aÓ  
    Specifies the package used to decode videos.

    Args:
        backend (string): Name of the video backend. one of {'pyav', 'video_reader'}.
            The :mod:`pyav` package uses the 3rd party PyAv library. It is a Pythonic
            binding for the FFmpeg libraries.
            The :mod:`video_reader` package includes a native C++ implementation on
            top of FFMPEG libraries, and a python API of TorchScript custom operator.
            It generally decodes faster than :mod:`pyav`, but is perhaps less robust.

    .. note::
        Building with FFMPEG is disabled by default in the latest `main`. If you want to use the 'video_reader'
        backend, please compile torchvision from source.
    )r   Úvideo_readerÚcudazIInvalid video backend '%s'. Options are 'pyav', 'video_reader' and 'cuda'r   zavideo_reader video backend is not available. Please compile torchvision from source and try againr   z$cuda video backend is not available.N)r   r   Z_HAS_VIDEO_OPTÚRuntimeErrorZ_HAS_GPU_VIDEO_DECODERÚ_video_backend)r   Úmessager   r   r   Úset_video_backend6   s    

r   c                   C   s   t S )z¢
    Returns the currently active video backend used to decode videos.

    Returns:
        str: Name of the video backend. one of {'pyav', 'video_reader'}.
    )r   r   r   r   r   Úget_video_backendU   s    r   c                   C   s
   t j ¡ S ©N)ÚtorchZ_CZ_get_tracing_stater   r   r   r   Ú_is_tracing`   s    r    c                   C   s   d S r   r   r   r   r   r   Údisable_beta_transforms_warningd   s    r!   )#ÚosÚwarningsZmodulefinderr   r   r   r   r   r   r   r   r   r	   Ú	extensionr   Úversionr   ÚImportErrorÚpathÚdirnameÚrealpathÚ__file__ÚjoinÚgetcwdr   ÚwarnÚformatr   r   r   r   r   r   r    r!   r   r   r   r   Ú<module>   s0   $ ÿÿ