transforms.rst 2.36 KB
Newer Older
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
1
2
torchvision.transforms
======================
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
3
4
5

.. currentmodule:: torchvision.transforms

6
7
8
9
10
Transforms are common image transformations. They can be chained together using :class:`Compose`.
Additionally, there is the :mod:`torchvision.transforms.functional` module.
Functional transforms give fine-grained control over the transformations.
This is useful if you have to build a more complex transformation pipeline
(e.g. in the case of segmentation tasks).
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
11
12
13

.. autoclass:: Compose

14
Transforms on PIL Image
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
15
16
-----------------------

17
.. autoclass:: CenterCrop
18

19
.. autoclass:: ColorJitter
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
20

21
.. autoclass:: FiveCrop
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
22

23
.. autoclass:: Grayscale
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
24

25
.. autoclass:: Pad
26

27
.. autoclass:: RandomAffine
28

29
.. autoclass:: RandomApply
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
30

31
.. autoclass:: RandomChoice
32

33
.. autoclass:: RandomCrop
34

35
.. autoclass:: RandomGrayscale
36

37
.. autoclass:: RandomHorizontalFlip
38

39
.. autoclass:: RandomOrder
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
40

41
42
.. autoclass:: RandomPerspective

43
.. autoclass:: RandomResizedCrop
44

45
46
.. autoclass:: RandomRotation

47
48
49
50
51
52
53
54
55
.. autoclass:: RandomSizedCrop

.. autoclass:: RandomVerticalFlip

.. autoclass:: Resize

.. autoclass:: Scale

.. autoclass:: TenCrop
56

Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
57
58
59
Transforms on torch.\*Tensor
----------------------------

surgan12's avatar
surgan12 committed
60
61
.. autoclass:: LinearTransformation

Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
62
63
64
65
.. autoclass:: Normalize
	:members: __call__
	:special-members:

66
67
.. autoclass:: RandomErasing

Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
68
69
70
Conversion Transforms
---------------------

71
.. autoclass:: ToPILImage
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
72
73
74
	:members: __call__
	:special-members:

75
.. autoclass:: ToTensor
Sasank Chilamkurthy's avatar
Sasank Chilamkurthy committed
76
77
78
79
80
81
82
83
	:members: __call__
	:special-members:

Generic Transforms
------------------

.. autoclass:: Lambda

84
85
86
87

Functional Transforms
---------------------

88
89
90
91
92
93
94
95
96
97
98
99
Functional transforms give you fine-grained control of the transformation pipeline.
As opposed to the transformations above, functional transforms don't contain a random number
generator for their parameters.
That means you have to specify/generate all parameters, but you can reuse the functional transform.
For example, you can apply a functional transform to multiple images like this:

.. code:: python

    import torchvision.transforms.functional as TF
    import random

    def my_segmentation_transforms(image, segmentation):
100
        if random.random() > 0.5:
101
102
103
104
105
106
            angle = random.randint(-30, 30)
            image = TF.rotate(image, angle)
            segmentation = TF.rotate(segmentation, angle)
        # more transforms ...
        return image, segmentation

107
108
.. automodule:: torchvision.transforms.functional
    :members: