README.rst 5.46 KB
Newer Older
Soumith Chintala's avatar
Soumith Chintala committed
1
torchvision
Xiuyan Ni's avatar
Xiuyan Ni committed
2
===========
Thomas Grainger's avatar
Thomas Grainger committed
3

4
5
6
.. image:: https://travis-ci.org/pytorch/vision.svg?branch=master
    :target: https://travis-ci.org/pytorch/vision

7
8
9
.. image:: https://codecov.io/gh/pytorch/vision/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/pytorch/vision

10
11
12
13
14
15
.. image:: https://pepy.tech/badge/torchvision
    :target: https://pepy.tech/project/torchvision

.. image:: https://img.shields.io/badge/dynamic/json.svg?label=docs&url=https%3A%2F%2Fpypi.org%2Fpypi%2Ftorchvision%2Fjson&query=%24.info.version&colorB=brightgreen&prefix=v
    :target: https://pytorch.org/docs/stable/torchvision/index.html

16

17
The torchvision package consists of popular datasets, model architectures, and common image transformations for computer vision.
Thomas Grainger's avatar
Thomas Grainger committed
18

Francisco Massa's avatar
Francisco Massa committed
19

Thomas Grainger's avatar
Thomas Grainger committed
20
21
22
Installation
============

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
We recommend Anaconda as Python package management system. Please refer to `pytorch.org <https://pytorch.org/>`_
for the detail of PyTorch (``torch``) installation. The following is the corresponding ``torchvision`` versions and
supported Python versions.

+--------------------------+--------------------------+---------------------------------+
| ``torch``                | ``torchvision``          | ``python``                      |
+==========================+==========================+=================================+
| ``master`` / ``nightly`` | ``master`` / ``nightly`` | ``>=3.6``                       |
+--------------------------+--------------------------+---------------------------------+
| ``1.5.0``                | ``0.6.0``                | ``>=3.5``                       |
+--------------------------+--------------------------+---------------------------------+
| ``1.4.0``                | ``0.5.0``                | ``==2.7``, ``>=3.5``, ``<=3.8`` |
+--------------------------+--------------------------+---------------------------------+
| ``1.3.1``                | ``0.4.2``                | ``==2.7``, ``>=3.5``, ``<=3.7`` |
+--------------------------+--------------------------+---------------------------------+
| ``1.3.0``                | ``0.4.1``                | ``==2.7``, ``>=3.5``, ``<=3.7`` |
+--------------------------+--------------------------+---------------------------------+
| ``1.2.0``                | ``0.4.0``                | ``==2.7``, ``>=3.5``, ``<=3.7`` |
+--------------------------+--------------------------+---------------------------------+
| ``1.1.0``                | ``0.3.0``                | ``==2.7``, ``>=3.5``, ``<=3.7`` |
+--------------------------+--------------------------+---------------------------------+
| ``<=1.0.1``              | ``0.2.2``                | ``==2.7``, ``>=3.5``, ``<=3.7`` |
+--------------------------+--------------------------+---------------------------------+
46

Soumith Chintala's avatar
Soumith Chintala committed
47
Anaconda:
Thomas Grainger's avatar
Thomas Grainger committed
48
49
50

.. code:: bash

Soumith Chintala's avatar
Soumith Chintala committed
51
    conda install torchvision -c pytorch
Thomas Grainger's avatar
Thomas Grainger committed
52

Soumith Chintala's avatar
Soumith Chintala committed
53
pip:
Thomas Grainger's avatar
Thomas Grainger committed
54
55
56

.. code:: bash

Thomas Grainger's avatar
Thomas Grainger committed
57
    pip install torchvision
Thomas Grainger's avatar
Thomas Grainger committed
58

Soumith Chintala's avatar
Soumith Chintala committed
59
60
61
62
63
From source:

.. code:: bash

    python setup.py install
64
65
    # or, for OSX
    # MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py install
Soumith Chintala's avatar
Soumith Chintala committed
66

67
68
69
By default, GPU support is built if CUDA is found and ``torch.cuda.is_available()`` is true.
It's possible to force building GPU support by setting ``FORCE_CUDA=1`` environment variable,
which is useful when building a docker image.
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

Image Backend
=============
Torchvision currently supports the following image backends:

* `Pillow`_ (default)

* `Pillow-SIMD`_ - a **much faster** drop-in replacement for Pillow with SIMD. If installed will be used as the default.

* `accimage`_ - if installed can be activated by calling :code:`torchvision.set_image_backend('accimage')`

.. _Pillow : https://python-pillow.org/
.. _Pillow-SIMD : https://github.com/uploadcare/pillow-simd
.. _accimage: https://github.com/pytorch/accimage

85
C++ API
Xiuyan Ni's avatar
Xiuyan Ni committed
86
=======
87
TorchVision also offers a C++ API that contains C++ equivalent of python models. 
88
89
90
91
92
93
94

Installation From source:

.. code:: bash

    mkdir build
    cd build
95
    # Add -DWITH_CUDA=on support for the CUDA if needed
96
    cmake ..
97
    make 
98
99
    make install

100
Once installed, the library can be accessed in cmake (after properly configuring ``CMAKE_PREFIX_PATH``) via the :code:`TorchVision::TorchVision` target:
bmanga's avatar
bmanga committed
101
102
103
104

.. code:: rest

	find_package(TorchVision REQUIRED)
105
	target_link_libraries(my-target PUBLIC TorchVision::TorchVision)
bmanga's avatar
bmanga committed
106

107
108
109
110
The ``TorchVision`` package will also automatically look for the ``Torch`` package and add it as a dependency to ``my-target``,
so make sure that it is also available to cmake via the ``CMAKE_PREFIX_PATH``.

For an example setup, take a look at ``examples/cpp/hello_world``.
bmanga's avatar
bmanga committed
111

112
113
Documentation
=============
Soumith Chintala's avatar
Soumith Chintala committed
114
You can find the API documentation on the pytorch website: http://pytorch.org/docs/master/torchvision/
edgarriba's avatar
edgarriba committed
115

116
117
118
Contributing
============
We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion. If you plan to contribute new features, utility functions or extensions, please first open an issue and discuss the feature with us.
Vincent QB's avatar
Vincent QB committed
119
120
121
122
123
124
125

Disclaimer on Datasets
======================

This is a utility library that downloads and prepares public datasets. We do not host or distribute these datasets, vouch for their quality or fairness, or claim that you have license to use the dataset. It is your responsibility to determine whether you have permission to use the dataset under the dataset's license.

If you're a dataset owner and wish to update any part of it (description, citation, etc.), or do not want your dataset to be included in this library, please get in touch through a GitHub issue. Thanks for your contribution to the ML community!