1.加载数据集及处理
使用torch.utils.data.DataLoader类创建数据加载器,对数据集进行预处理,将原始训练集中的图像按照指定的验证集比例 0.1 进行拆分,生成训练集和验证集,并将图像移动到按狗的种类分组的子文件夹中。将测试集中的图像也移动到按狗的种类分组的子文件夹中,完成数据集的预处理。
2.图像预处理
使用torchvision库中的图像预处理函数来对训练集和验证集的图像进行预处理。训练集:随机裁剪图像,所得图像为原始面积的0.08到1之间,高宽比在3/4和4/3之间,随机水平翻转图像,随机更改亮度、对比度和饱和度,添加随机噪声,并将图像转换成tensor形式,作为模型的输入,标准化图像的每个通道,使用预先计算好的均值和标准差,将图像的像素值归一化到固定范围。测试集:调整图像大小为256x256,保持图像的宽高比,从图像中心裁剪224x224大小的图片,保留图像的中心区域,确保输入模型的图像大小一致,添加随机噪声,并将图像转换成tensor形式,作为模型的输入,标准化图像的每个通道,使用预先计算好的均值和标准差。
3.定义网络模型(VGG11/ResNet18)
使用预训练的VGG(11)模型,定义了一个新的输出网络替换原始的输出层,包含两个线性层和ReLU激活函数,最后输出120个类别的预测值。

当使用的是Re
该博客详细介绍了如何使用PyTorch进行Kaggle狗类识别竞赛的数据预处理,包括图像的拆分、预处理、VGG和ResNet模型的构建、训练与测试。数据预处理涉及了图像的随机裁剪、水平翻转、亮度调整等。训练部分使用了交叉熵损失函数,优化器为SGD,同时应用了学习率调度器。测试阶段,利用训练好的模型对测试集进行分类并保存结果。
订阅专栏 解锁全文
2123

被折叠的 条评论
为什么被折叠?



