__init__.py 1.95 KB
Newer Older
1
2
from torchvision import models
from torchvision import datasets
3
from torchvision import ops
4
5
from torchvision import transforms
from torchvision import utils
6
from torchvision import io
7

8
9
from .extension import _HAS_OPS

10
11
try:
    from .version import __version__  # noqa: F401
Soumith Chintala's avatar
Soumith Chintala committed
12
except ImportError:
13
    pass
14
15
16

_image_backend = 'PIL'

17
18
_video_backend = "pyav"

19
20
21
22
23
24

def set_image_backend(backend):
    """
    Specifies the package used to load images.

    Args:
25
26
27
        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.
28
29
30
31
32
33
34
35
36
37
38
39
40
    """
    global _image_backend
    if backend not in ['PIL', 'accimage']:
        raise ValueError("Invalid backend '{}'. Options are 'PIL' and 'accimage'"
                         .format(backend))
    _image_backend = backend


def get_image_backend():
    """
    Gets the name of the package used to load images
    """
    return _image_backend
41
42


43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
def set_video_backend(backend):
    """
    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 is generally decoding faster than pyav, but perhaps is less robust.
    """
    global _video_backend
    if backend not in ["pyav", "video_reader"]:
        raise ValueError(
            "Invalid video backend '%s'. Options are 'pyav' and 'video_reader'" % backend
        )
    _video_backend = backend


def get_video_backend():
    return _video_backend


67
68
69
def _is_tracing():
    import torch
    return torch._C._get_tracing_state()