172 lines
4.0 KiB
ReStructuredText
172 lines
4.0 KiB
ReStructuredText
.. role:: hidden
|
|
:class: hidden-section
|
|
|
|
Data Transformations
|
|
***********************************
|
|
|
|
In MMClassification, the data preparation and the dataset is decomposed. The
|
|
datasets only define how to get samples' basic information from the file
|
|
system. These basic information includes the ground-truth label and raw images
|
|
data / the paths of images.
|
|
|
|
To prepare the inputs data, we need to do some transformations on these basic
|
|
information. These transformations includes loading, preprocessing and
|
|
formatting. And a series of data transformations makes up a data pipeline.
|
|
Therefore, you can find the a ``pipeline`` argument in the configs of dataset,
|
|
for example:
|
|
|
|
.. code:: python
|
|
|
|
img_norm_cfg = dict(
|
|
mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
|
|
train_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='RandomResizedCrop', size=224),
|
|
dict(type='RandomFlip', flip_prob=0.5, direction='horizontal'),
|
|
dict(type='Normalize', **img_norm_cfg),
|
|
dict(type='ImageToTensor', keys=['img']),
|
|
dict(type='ToTensor', keys=['gt_label']),
|
|
dict(type='Collect', keys=['img', 'gt_label'])
|
|
]
|
|
test_pipeline = [
|
|
dict(type='LoadImageFromFile'),
|
|
dict(type='Resize', size=256),
|
|
dict(type='CenterCrop', crop_size=224),
|
|
dict(type='Normalize', **img_norm_cfg),
|
|
dict(type='ImageToTensor', keys=['img']),
|
|
dict(type='Collect', keys=['img'])
|
|
]
|
|
|
|
data = dict(
|
|
train=dict(..., pipeline=train_pipeline),
|
|
val=dict(..., pipeline=test_pipeline),
|
|
test=dict(..., pipeline=test_pipeline),
|
|
)
|
|
|
|
Every item of a pipeline list is one of the following data transformations class. And if you want to add a custom data transformation class, the tutorial :doc:`Custom Data Pipelines </tutorials/data_pipeline>` will help you.
|
|
|
|
.. contents:: mmcls.datasets.pipelines
|
|
:depth: 2
|
|
:local:
|
|
:backlinks: top
|
|
|
|
.. currentmodule:: mmcls.datasets.pipelines
|
|
|
|
Loading
|
|
=======
|
|
|
|
LoadImageFromFile
|
|
---------------------
|
|
.. autoclass:: LoadImageFromFile
|
|
|
|
Preprocessing and Augmentation
|
|
==============================
|
|
|
|
CenterCrop
|
|
---------------------
|
|
.. autoclass:: CenterCrop
|
|
|
|
Lighting
|
|
---------------------
|
|
.. autoclass:: Lighting
|
|
|
|
Normalize
|
|
---------------------
|
|
.. autoclass:: Normalize
|
|
|
|
Pad
|
|
---------------------
|
|
.. autoclass:: Pad
|
|
|
|
Resize
|
|
---------------------
|
|
.. autoclass:: Resize
|
|
|
|
RandomCrop
|
|
---------------------
|
|
.. autoclass:: RandomCrop
|
|
|
|
RandomErasing
|
|
---------------------
|
|
.. autoclass:: RandomErasing
|
|
|
|
RandomFlip
|
|
---------------------
|
|
.. autoclass:: RandomFlip
|
|
|
|
RandomGrayscale
|
|
---------------------
|
|
.. autoclass:: RandomGrayscale
|
|
|
|
RandomResizedCrop
|
|
---------------------
|
|
.. autoclass:: RandomResizedCrop
|
|
|
|
ColorJitter
|
|
---------------------
|
|
.. autoclass:: ColorJitter
|
|
|
|
|
|
Composed Augmentation
|
|
---------------------
|
|
Composed augmentation is a kind of methods which compose a series of data
|
|
augmentation transformations, such as ``AutoAugment`` and ``RandAugment``.
|
|
|
|
.. autoclass:: AutoAugment
|
|
|
|
.. autoclass:: RandAugment
|
|
|
|
In composed augmentation, we need to specify several data transformations or
|
|
several groups of data transformations (The ``policies`` argument) as the
|
|
random sampling space. These data transformations are chosen from the below
|
|
table. In addition, we provide some preset policies in `this folder`_.
|
|
|
|
.. _this folder: https://github.com/open-mmlab/mmclassification/tree/master/configs/_base_/datasets/pipelines
|
|
|
|
.. autosummary::
|
|
:toctree: generated
|
|
:nosignatures:
|
|
:template: classtemplate.rst
|
|
|
|
AutoContrast
|
|
Brightness
|
|
ColorTransform
|
|
Contrast
|
|
Cutout
|
|
Equalize
|
|
Invert
|
|
Posterize
|
|
Rotate
|
|
Sharpness
|
|
Shear
|
|
Solarize
|
|
SolarizeAdd
|
|
Translate
|
|
|
|
Formatting
|
|
==========
|
|
|
|
Collect
|
|
---------------------
|
|
.. autoclass:: Collect
|
|
|
|
ImageToTensor
|
|
---------------------
|
|
.. autoclass:: ImageToTensor
|
|
|
|
ToNumpy
|
|
---------------------
|
|
.. autoclass:: ToNumpy
|
|
|
|
ToPIL
|
|
---------------------
|
|
.. autoclass:: ToPIL
|
|
|
|
ToTensor
|
|
---------------------
|
|
.. autoclass:: ToTensor
|
|
|
|
Transpose
|
|
---------------------
|
|
.. autoclass:: Transpose
|