DFL-CNN 使用教程

DFL-CNN 使用教程

DFL-CNN This is a pytorch re-implementation of Learning a Discriminative Filter Bank Within a CNN for Fine-Grained Recognition DFL-CNN 项目地址: https://gitcode.com/gh_mirrors/df/DFL-CNN

1. 项目介绍

DFL-CNN 是一个基于 PyTorch 的细粒度分类器,它是对 CVPR 2018 论文《Learning a Discriminative Filter Bank Within a CNN for Fine-Grained Recognition》的简单重实现。该项目使用了 VGG16 作为基础网络,并通过全局平均池化来减少参数。训练在 4 块 Titan V 显卡上进行,经过 120 个周期后,在 batchsize 为 56 的情况下,得到了 Top1 为 85.140%,Top5 为 96.237% 的结果。

2. 项目快速启动

环境准备

确保已经安装了 PyTorch 和其他必要的 Python 库。

数据集准备

你可以从以下地址下载 CUB-200-2011 数据集:

wget http://www.vision.caltech.edu/visipedia-data/CUB-200-2011/CUB_200_2011.tgz

或者从百度云链接获取。下载后,需要将数据集链接到项目目录:

ln -s ./train path/to/code/dataset/train
ln -s ./test path/to/code/dataset/test

训练与测试

修改 run.sh 文件中的 GPU 配置,然后运行:

sh run.sh

训练过程中,损失信息会保存在 log/ 目录中。权重文件(checkpoint.pth.tarmodel_best.pth.tar)会保存在 weight/ 目录中。

可视化

将想要可视化的图片放在 vis_img/ 目录下,命名为 number.jpg。训练过程中,每隔一些周期,十个最佳斑块的结果会被保存在 vis_result/ 目录中。

3. 应用案例和最佳实践

  • 数据增强:使用 TenCrop 变换可以在测试时进一步提高结果。
  • 模型调整:可以尝试使用 ResNet-101 或者多尺度 DFL-CNN 来改进模型性能。

4. 典型生态项目

目前没有列出具体的生态项目,但你可以通过搜索和查看其他使用 PyTorch 进行细粒度分类的项目来扩展 DFL-CNN 的应用范围。

DFL-CNN This is a pytorch re-implementation of Learning a Discriminative Filter Bank Within a CNN for Fine-Grained Recognition DFL-CNN 项目地址: https://gitcode.com/gh_mirrors/df/DFL-CNN

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范芬蓓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值