Swin Transformer实战:使用 Swin Transformer实现图像分类。

本文详细介绍了如何使用Swin Transformer实现图像分类。首先,展示了项目结构,包括数据集目录和模型配置。接着,指导读者获取代码、预训练模型并构建数据集。在配置文件中修改相关参数后,通过注释和调整代码进行训练。文章还提供了单独验证模型的命令。最后,介绍了如何编写推理脚本,并展示了推理过程。
摘要由CSDN通过智能技术生成

dog.2

项目结构

===============================================================

使用tree命令打印整个项目的结构

Swin-Transformer-main

├─configs#配置文件

├─data#处理数据集相关的操作

├─dataset #数据集结构

│ ├─test

│ ├─train

│ │ ├─cat

│ │ └─dog

│ └─val

│ ├─cat

│ └─dog

├─figures

├─models#Swin的模型文件

├─output#训练模型的输出

训练

=============================================================

1、获取代码和预训练模型


从https://github.com/microsoft/Swin-Transformer下载代码,然后放到本地。然后解压。

在get_started.md找到预训练模型下载路径,下载下来然后放到Swin-Transformer根目录。

image-20211206104607199

2、制作数据集


构建数据集,数据集结构如下:

dataset #数据集结构

├─test

├─train

│ ├─cat

│ └─dog

└─val

├─cat

└─dog

从原数据集中取出一部分数据集放入train对应的类别中,一部分放入val对应的类别中。把原数据集中的test直接复制到test中。

3、修改config.py文件


_C.DATA.DATA_PATH = ‘dataset’

Dataset name

_C.DATA.DATASET = ‘imagenet’

Model name

_C.MODEL.NAME = ‘swin_tiny_patch4_window7_224’

Checkpoint to resume, could be overwritten by command line argument

_C.MODEL.RESUME =‘swin_tiny_patch4_window7_224.pth’

Number of classes, overwritten in data preparation

_C.MODEL.NUM_CLASSES = 2

对上面参数的解释:

_C.DATA.DATA_PATH :数据集路径的根目录,我定义为dataset。

_C.DATA.DATASET:数据集的类型,这里只有一种类型imagenet。

_C.MODEL.NAME:模型的名字,对应configs下面yaml的名字,会在模型输出的root目录创建对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值