CutMix¶
- class torchvision.transforms.v2.CutMix(*, alpha: float = 1.0, num_classes: Optional[int] = None, labels_getter='default')[source]¶
对提供的图像和标签批次应用 CutMix。
论文:CutMix: 用于训练具有可定位特征的强大分类器的正则化策略。
注意
此变换旨在用于样本的批次,而非单个图像。有关详细用法示例,请参阅如何使用 CutMix 和 MixUp。样本配对是确定性的,通过匹配批次中的连续样本完成,因此批次需要被打乱(这是一个实现细节,而非保证的约定)。
在输入中,标签预期是一个形状为
(batch_size,)
的张量。它们将被转换为形状为(batch_size, num_classes)
的张量。- 参数:
alpha (float, optional) – 用于 Mixup 的 Beta 分布的超参数。默认为 1。
num_classes (int, optional) – 批次中的类别数量。用于 one-hot 编码。只有当标签已是 one-hot 编码时,才能为 None。
labels_getter (callable or "default", optional) – 指示如何识别输入中的标签。默认情况下,如果第二个参数是张量,则将其作为标签。这涵盖了此变换被调用为
CutMix()(imgs_batch, labels_batch)
的最常见场景。它也可以是一个可调用对象,接受与变换相同的输入,并返回标签。
使用
CutMix
的示例