基于ImageNet的宠物品种分类项目-ResNet-18
项目描述 基于ImageNet的宠物品种分类项目
基于 ImageNet 预训练 ResNet-18 的宠物品种分类项目,在 Oxford-IIIT Pet 数据集上对比 Baseline、RandAugment、Label Smoothing 三组固定种子实验,提供独立测试评估、Top-5、Macro-F1、混淆矩阵和 Grad-CAM 可视化,并附带 Gradio Web 交互界面。
项目功能
模型训练: 三组对照实验(基础增强、RandAugment、Label Smoothing),seed=42 可复现
独立评估: 测试集 Top-1/Top-5/Macro-F1、混淆矩阵、Grad-CAM 热力图
训练监控: TensorBoard 日志、逐 epoch 训练历史 CSV
Web 界面: Gradio 四 Tab(单图预测+Grad-CAM、批量预测、实验结果展示、项目说明),支持三组 checkpoint 切换
运行环境
Windows + Anaconda(pet37 环境,Python 3.11.16)
PyTorch 2.7.1+cpu / torchvision 0.22.1+cpu
依赖见 requirements.txt:numpy 2.4.6、scikit-learn 1.9.0、matplotlib 3.11.1、tensorboard 2.21.0、Pillow 12.3.0、gradio 6.26.0
无需 GPU,CPU 即可训练和推理
项目技术
模型: ResNet-18(ImageNet 预训练,全参数微调,37 类分类头)
优化: AdamW(lr=1e-4,weight_decay=1e-4,batch=32,15 epoch)
数据: Oxford-IIIT Pet 7349 张图片,分层 70/15/15 划分
增强: Resize(256)→RandomCrop(224)→Flip→ToTensor→Normalize;RandAugment 实验额外加 RandAugment(2,9)
可解释性: Grad-CAM(目标层 model.layer4[-1].conv2)
前端: Gradio Blocks 多 Tab 布局
以上系统源码经过技术整理与调试,确保能正常运行


