这段代码是用于对 CIFAR10 数据集进行数据预处理的,包括训练集和测试集。其中,训练集采用了数据增强的方式,包括随机裁剪('tv.transforms.RandomCrop')和随机水平翻转('tv.transforms.RandomHorizontalFlip'),以增加模型的泛化能力。在数据预处理过程中,还进行了归一化操作('tv.transforms.Normalize'),将像素值转换为均值为0、方差为1的标准正态分布。这样做的好处是可以加速模型的训练,使得梯度下降更加稳定。最后,训练集和测试集都使用了相同的归一化方式进行预处理,以保证数据的一致性。

            # transforms.RandomCrop: 切割中心点的位置随机选取
            tv.transforms.RandomCrop(32, padding=4), tv.transforms.RandomHorizontalFlip(),
            tv.transforms.ToTensor(),
            # transforms.Normalize: 给定均值:(R,G,B) 方差:(R,G,B),将会把Tensor正则化
            tv.transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)),
        ])
        transform_test = tv.transforms.Compose([
            tv.transforms.ToTensor(),
            tv.transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)),
        ])
        train_dataset = tv.datasets.CIFAR10(dir, train=True, download=True, transform=transform_train)
        eval_dataset = tv.datasets.CIFAR10(dir, train=False, transform=transform_test)
CIFAR10 数据集预处理:数据增强与归一化

原文地址: https://www.cveoy.top/t/topic/njGU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录