1. Introduction

本项目包含了自 AelxNet 以来经典的深度学习图像分类模型,大部分模型是基于卷积神经网络的,也有一部分是基于注意力机制的。 博客链接是对模型的介绍,会持续更新….

在项目目录中,模型的搭建代码在classic_models文件夹中;所有的模型训练代码和推理代码都是共用的,只有模型搭建代码不同,训练代码有三个不同的版本:

  • train_sample.py是最简单的实现,必须掌握,以下两个版本看个人需求。
  • train.py是简单升级版的实现,具体改进的地方见train.py脚本中顶部的注释。
  • train_distrubuted.py支持多gpu分布式训练。

最后,test.py是推理脚本,用于使用训练好的模型。dataload中是数据集加载代码;utils是封装各种功能的包,包括学习策略,训练和验证,分布式初始化,可视化等等。建议先学习掌握classic_models,train_sample.py和test.py这三部分,其他部分用到的时候再学习。

2. Dataset And Project

本项目是使用python语言基于pytorch深度学习框架编写的。

默认的数据集是花朵数据集,此数据集包含五种不同种类的花朵图像,用于训练的图像有3306张,用于验证的图像有364张。

下载完成后,记得在训练和推理代码中,将数据集加载的路径修改成自己电脑中下载存储的路径。

数据集图像展示如下:

Dataset show

开启模型的训练只需要在IDE中执行train_sample.py脚本即可;或者在终端执行命令行python train_sample.py 训练的log打印示例如下:

training log

将模型用于推理只需要在IDE中执行test.py脚本即可;或者在终端执行命令行python test.py 给一张向日葵的图像,模型的输出结果示例结果如下:

infer show

3. Methods And Papers

以下是本项目支持的模型列表

  1. AlexNet:深度学习崛起的标志
  2. ZFNet:卷积原理的深度解析
  3. VGGNet: 探索深度的力量
  4. GoogLeNet:探索宽度的力量
  5. ResNet:神来之“路”
  6. DenseNet:特征复用真的香
  7. SENet:通道维度的注意力机制
  8. MobileNet:轻量化模型
  9. ShuffleNet: 通道打散
  10. EfficientNet: 模型缩放策略
  11. RepVGG:新型卷积神经网络架构
  12. ViT:视觉Transformer
  13. Swin Transformer:窗口化的Transformer
  14. VAN:基于卷积实现的注意力
  15. ConvNeXt:卷积与设计策略的新篇章
  16. MLP-Mixer: 并肩卷积与自注意,多层感知机的神奇魔法
  17. AS-MLP:注意力驱动下的多层感知机升级
  18. ConvMixer: 创新之路,卷积与多层感知机的相互借鉴
  19. MetaFormer: 万法归一,构建未来的Transformer模板

下载资源

数据集下载链接:

下载链接如下:https://pan.baidu.com/s/1EhPMVLOQlLNN55ndrLbh4Q
提取码:7799 。

项目代码链接:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

作者

arwin.yu.98@gmail.com

相关文章

心律失常的数据分析与模型分类项目

项目背景 心脏疾病一直是全球健康的主要挑战之...

读出全部

基于图神经网络进行分子活性预测

该项目通过利用图神经网络来解析和预测化学分子...

读出全部

困倦检测报警项目

困倦检测系统 在此 Python 项目中,我...

读出全部