pytorch中数据增强-1

train_transforms = transforms.Compose([
    transforms.Resize((224, 224)),
    # 1.CenterCrop
    # transforms.CenterCrop(512),  # 196、512

    # 2.RandomCrop
    # transforms.RandomCrop(224,padding=16),
    # transforms.RandomCrop(224,padding=(16, 64)),
    # transforms.RandomCrop(224, padding=16, fill=(255,0,0)),
    # transforms.RandomCrop(512,pad_if_needed=True),
    # transforms.RandomCrop(224,padding=64,padding_mode="edge"),
    # transforms.RandomCrop(224,padding=64,padding_mode="reflect"),
    # transforms.RandomCrop(224,padding=64,padding_mode="symmetric"),
    # transforms.RandomCrop(1024,padding=1024,padding_mode="symmetric"),

    # 3.RandomResizeCrop
    # transforms.RandomResizedCrop(size=224, scale=(0.08, 1)),
    # transforms.RandomResizedCrop(size=224, scale=(0.5,0.5)),

    # 翻转
    # 4.HorizontalFlip
    # transforms.RandomHorizontalFlip(p=1),
    # 5.VerticalFlip
    # transforms.RandomVerticalFlip(p=0.5),

    # 旋转
    # 6.RandomRotation
    # transforms.RandomRotation(90),
    # transforms.RandomRotation((90), expand=True),  # 保图填充
    # transforms.RandomRotation(30, center=(0, 0)),   # (0, 0)左上角为旋转中心
    # transforms.RandomRotation(30, center=(0, 0), expand=True),

    # 7.pad
    # transforms.Pad(padding=32,fill=(255,0,0),padding_mode="constant"),
    # transforms.Pad(padding=(8,64), fill=(255,0,0), padding_mode="constant"),
    # transforms.Pad(padding=(8,16,32,64),fill=(255,0,0),padding_mode="constant"),
    # transforms.Pad(padding=(8,16,32,64),padding_mode="symmetric"),

    # 8.色彩变换(ColoJitter)
    # transforms.ColorJitter(brightness=0.1),  # 亮度:越小越亮
    # transforms.ColorJitter(contrast=1),  # 对比度:升高图像会发灰
    # transforms.ColorJitter(saturation=0.1),  # 饱和度:升高图像会变暗淡
    # transforms.ColorJitter(hue=0.3),  # 色相

    # 9.灰度变化(Grayscale)
    # transforms.Grayscale(num_output_channels=1),
    # transforms.RandomGrayscale(p=0.9),

    # 10.仿射变换(包括:旋转、平移、缩放、错切、翻转)
    # transforms.RandomAffine(degrees=30),  # (-30,+30)之间进行中心旋转
    # 平移,范围左右(-0.2w,+0.2w),上下(-0.2w,+0.2w),四个边先填充,然后裁剪
    # transforms.RandomAffine(degrees=0, translate=(0.2, 0.2), fillcolor=(255,0,0)),
    # transforms.RandomAffine(degrees=0, scale=(0.7,0.7)),  # 缩放
    # transforms.RandomAffine(degrees=0, shear=(0,0,0,45)),  # 设置y轴进行错切
    # transforms.RandomAffine(degrees=0, shear=(0,90,0,0)),  # 设置x轴进行错切
    # transforms.RandomAffine(degrees=0, shear=90),  # 设置x轴进行错切

    # 11.随机遮挡 ==> 这里直接对tensor进行操作,之前的方法都是在PIL.image上进行计算的
    # transforms.ToTensor(),  # 注意要注释掉后面Totensor和Normalize.
    # transforms.RandomErasing(p=1, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=(254/255, 0, 0)),   # 纯色填充
    # transforms.RandomErasing(p=1, scale=(0.02, 0.33), ratio=(0.3, 3.3), value="1234"),  # 实现任意像素块遮挡

    # 组合
    # 1.随机选择一种
    # transforms.RandomChoice([transforms.RandomVerticalFlip(p=1),
    #                          transforms.RandomHorizontalFlip(p=1)]),
    # 2.依据概率p执行一组transforms操作
    # transforms.RandomApply([transforms.RandomAffine(degrees=0, shear=45, fillcolor=(255, 0, 0)),
    #                         transforms.Grayscale(num_output_channels=3)],
    #                        p=0.5),
    # 3.对一组transforms操作打乱顺序
    transforms.RandomOrder([transforms.RandomRotation(15),
                            transforms.RandomAffine(degrees=0, translate=(0.01, 0.1), scale=(0.9, 1.1)),
                            transforms.Pad(padding=32)]),

    transforms.ToTensor(),  # 进行归一化
    transforms.Normalize(norm_mean, norm_std)  # 标准化
])

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytorch-yolov4-master是一个基于PyTorch深度学习框架实现的YOLOv4目标检测算法的代码库。YOLOv4是一种先进的目标检测算法,具有快速、高效和准确的特点。 这个代码库提供了训练和测试YOLOv4模型的代码和工具。它包含了模型的网络架构定义、数据预处理、损失函数、模型训练和推理等功能。使用这个代码库,我们可以方便地构建和训练自己的目标检测模型,也可以使用预训练好的模型进行目标检测任务。 在使用这个代码库时,我们需要准备训练数据集,包括标注好的目标框和对应的类别标签。然后,可以使用提供的脚本进行数据预处理和数据增强,例如对图片进行裁剪、缩放、翻转等操作,以增加模型的鲁棒性。接下来,可以使用提供的训练脚本进行模型的训练,通过迭代优化模型参数,使模型在目标检测任务上达到更好的效果。 训练完成后,我们可以使用提供的推理脚本对测试集或新的图片进行目标检测。它会将检测到的目标框和对应的类别标签输出,以及它们的置信度分数。我们可以根据需要对输出进行后处理,例如进行非极大值抑制(NMS)来去除冗余的框。 总之,pytorch-yolov4-master是一个强大的目标检测算法的代码库,提供了丰富的功能和工具,便于我们进行YOLOv4模型的构建、训练和推理。它为目标检测任务的开发和研究提供了便捷的工具和基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值