Compose#

class Compose(transforms=[], batch_compose=False, shuffle_indices=None, *, order=None)[源代码]#

将几个转换组合在一起。

参数:

参见

参考用于视觉转换api的 transform 模块。

实际案例

>>> import megengine.data.transform as T
>>> T.Compose([  
...     T.RandomHorizontalFlip(),  # 1st
...     T.RandomVerticalFlip(),    # 2nd
...     T.CenterCrop(100),         # 3rd
...     T.ToMode("CHW"),           # 4th
...     ],
...     shuffle_indices=[(1, 2, 3)]
... )

在本例中,提供了``shuffle_indices``,因此每个输入数据将被打乱顺序:

\[\begin{split}\begin{array}{cc} [{\color{red}1 \quad 2 \quad 3} \quad 4] & [{\color{red}1 \quad 3 \quad 2} \quad 4] \\ [{\color{red}2 \quad 1 \quad 3} \quad 4] & [{\color{red}2 \quad 3 \quad 1} \quad 4] \\ [{\color{red}3 \quad 1 \quad 2} \quad 4] & [{\color{red}3 \quad 2 \quad 1} \quad 4] \end{array}\end{split}\]

在其他例子中,如果``[(1, 3), (2, 4)]`` 已经给出,则对第一次和第三次变换进行随机洗牌,对第二次和第四次变换也进行随机洗牌。

\[\begin{split}\begin{array}{cc} [{\color{red}1} \quad {\color{blue}2} \quad {\color{red}3} \quad {\color{blue}4}] & [{\color{red}1} \quad {\color{blue}4} \quad {\color{red}3} \quad {\color{blue}2}] \\ [{\color{red}3} \quad {\color{blue}2} \quad {\color{red}1} \quad {\color{blue}4}] & [{\color{red}3} \quad {\color{blue}4} \quad {\color{red}1} \quad {\color{blue}2}] \end{array}\end{split}\]

不同的颜色代表需要内部洗牌的不同组。

警告

每个batch中的不同数据也将使用随机转换顺序,除非``batch_compose`` 被设置为``True``。

apply(input)[源代码]#

对单个输入数据实施数据增强。

apply_batch(inputs)[源代码]#

对一批(batch)的输入数据实施数据增广。