a
    OSic                     @   s  d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 dd	l
mZ zdd
lmZ W n ey   Y n0 ese je jee je je  dkrdZeee   dadadd Zdd Zdd Zdd Zdd ZdS )    N)datasets)io)models)ops)
transforms)utils   )_HAS_OPS)__version__torchvisionzYou 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v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   P/var/www/html/django/DPS/env/lib/python3.9/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_backend2   s    r   c                 C   s:   | dvrt d|  | dkr2tjs2d}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_readerzAInvalid video backend '%s'. Options are 'pyav' and 'video_reader'r   zavideo_reader video backend is not available. Please compile torchvision from source and try againN)r   r   Z_HAS_VIDEO_OPTwarningswarn_video_backend)r   messager   r   r   set_video_backend9   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_backendS   s    r   c                   C   s
   t j S )N)torch_C_get_tracing_stater   r   r   r   _is_tracing^   s    r   )osr   r   r   r   r   r   r   r   r   	extensionr	   versionr
   ImportErrorpathdirnamerealpath__file__joingetcwdr   r   formatr   r   r   r   r   r   r   r   r   r   r   <module>   s4   