开箱即用,涵盖主流模型的图像分类|主干网络学习/对比/魔改项目

前言

项目地址https://github.com/Fafa-DL/Awesome-Backbones

视频教程https://www.bilibili.com/video/BV1SY411P7Nd

初衷

  • 帮助大家从简单的LeNet网络到Transformer网络进行复现学习;
  • 帮助提高阅读工程代码的能力;
  • 帮助进行网络对比/炼丹/发paper

测试环境

  • PyTorch 1.7.1
  • TorchVision 0.8.2
  • 注:所列环境不包括本项目所需的所有库,如果在终端运行提示缺少某个包,所有都可以通过pipconda解决,很方便。后期也会测试最低支持什么版本,建议大家至少PyTorch与TorchVision和我保持一致

支持模型(点击跳转到训练自己数据集教程页)

训练

  • 所有模型在该仓库下可以直接通过调用相应配置文件实现
    在这里插入图片描述
  • 每个模型文件夹涵盖了不同版本配置文件
    在这里插入图片描述
  • 训练自己的数据集,包括数据集准备、标签制作、配置文件修改等,视频教程以及文字教程已在前述提供
    在这里插入图片描述
  • 设置三种情况保存权重:最近一次周期、训练损失值最小的周期、验证准确率最高的周期
    在这里插入图片描述
  • 同步绘制每周期训练Loss以及验证准确率曲线图
    在这里插入图片描述
  • 同步保存每周期训练损失值、验证准确率、Mean Precision、Mean Recall、Mean F1 Score
    在这里插入图片描述

评估

  • 训练完毕得到权重文件后可以对模型进行详细评估,视频教程以及文字教程已在前述提供。
  • 终端输出每类别Precision、Recall、F1 Score;输出总平均Top-1 Acc、Top-5 Acc、Mean Precision、Mean Recall、Mean F1 Score;输出混淆矩阵。结果将以metrics_output.csv保存
    在这里插入图片描述
    在这里插入图片描述
  • 测试集中每张图像详细预测信息(图片路径、预测类别、真实类别、是否预测成功、各类别置信度得分)保存在prediction_results.csv
    在这里插入图片描述

类别激活图可视化

目前支持的方法有:

MethodWhat it does
GradCAM使用平均梯度对 2D 激活进行加权
GradCAM++类似 GradCAM,但使用了二阶梯度
XGradCAM类似 GradCAM,但通过归一化的激活对梯度进行了加权
EigenCAM使用 2D 激活的第一主成分(无法区分类别,但效果似乎不错)
EigenGradCAM类似 EigenCAM,但支持类别区分,使用了激活 * 梯度的第一主成分,看起来和 GradCAM 差不多,但是更干净
LayerCAM使用正梯度对激活进行空间加权,对于浅层有更好的效果

在这里插入图片描述

  • 具体使用方法详见教程
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

啥都生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值