DenseNet默认就是DenseNet-BC,
相对于resnet,densenet权重参数更少,鲁棒性更强.
0、下载数据集:Cifar-10在同级文件data下
预训练权重: 'densenet121': 'https://download.pytorch.org/models/densenet121-a639ec97.pth', 'densenet169': 'https://download.pytorch.org/models/densenet169-b2777c0a.pth', 'densenet201': 'https://download.pytorch.org/models/densenet201-c1103571.pth', 'densenet161': 'https://download.pytorch.org/models/densenet161-8d451a50.pth',
下级文件data下
1、(注意文件位置/命名)数据集解压,运行src>01_parse_cifar10_to_png
解析cifar10数据,得到测试集和训练集.
2、测试densenet_inference.py
使用小金毛(使用预训练的DenseNet121模型进行分类测试).
3、训练train_densenet.py
节省时间
MAX_EPOCH = 30
不到20分钟,best acc: 0.8492,论文结果到94%+
MAX_EPOCH = 300 # 参考论文中 4.2 Training
3h,best acc到93.62%
⭐️【常踩坑】现在预训练模型中出现字典不匹配情况,使用正则匹配解决(例如现在多了个.
)