Swin-Transformer训练自己的数据集

环境配置

#创建conda环境
conda create -n SwinTransformerObjectDetection -y python=3.8
conda activate SwinTransformerObjectDetection
conda install pytorch=1.8.0 torchvision cudatoolkit=10.2 -c pytorch -y

# mmcv安装
cd ~/software/
rm -rf mmcv
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
MMCV_WITH_OPS=1 pip install -e .

# 安装apex
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

# mmdetection安装
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -r requirements.txt
pip install -v -e . 

cd /home/zengxh/workspace/Swin-Transformer-Object-Detection
pip install -r requirements.txt

测试是否安装成功

python demo/image_demo.py demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py mask_rcnn_swin_tiny_patch4_window7.pth

下载文件

下载changemaskrcnn.py文件

https://github.com/carlsummer/python_developer_tools/tree/main/python_developer_tools/cv/Transformer/Swin-Transformer-Object-Detectionicon-default.png?t=M276https://github.com/carlsummer/python_developer_tools/tree/main/python_developer_tools/cv/Transformer/Swin-Transformer-Object-Detection

训练自己的数据

1. 准备coco数据集中的(数据集准备部分)
2. 修改changemaskrcnn.py中num_class并运行,将num_class改成自己的数据集的种类数目

3. 修改configs\_base_\models\mask_rcnn_swin_fpn.py中num_classes
4. 修改configs\_base_\default_runtime.py中interval,load_from
5. 修改configs\swin\mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py中的max_epochs、lr
6. 修改configs\_base_\datasets\coco_instance.py中samples_per_gpu和workers_per_gpu
7. 修改mmdet\datasets\coco.py中CLASSES
8. python tools/train.py configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Transformer发轫于NLP(自然语言处理),并跨界应用到CV(计算机视觉)领域。 Swin Transformer是基于Transformer的计算机视觉骨干网,在图像分类、目标检测、实例分割、语义分割等多项下游CV应用中取得了SOTA的性能。该项工作也获得了ICCV 2021顶会最佳论文奖。 本课程将手把手地教大家使用labelImg标注和使用Swin Transformer训练自己的数据集。  本课程将介绍Transformer及在CV领域的应用、Swin Transformer的原理。 课程以多目标检测(足球和梅西同时检测)为例进行Swin Transformer实战演示。 课程在Windows和Ubuntu系统上分别做项目演示。包括:安装软件环境、安装Pytorch、安装Swin-Transformer-Object-Detection、标注自己的数据集、准备自己的数据集(自动划分训练集和验证集)、数据集格式转换(Python脚本完成)、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计、日志分析。  相关课程: 《Transformer原理与代码精讲(PyTorch)》https://edu.csdn.net/course/detail/36697《Transformer原理与代码精讲(TensorFlow)》https://edu.csdn.net/course/detail/36699《ViT(Vision Transformer)原理与代码精讲》https://edu.csdn.net/course/detail/36719《DETR原理与代码精讲》https://edu.csdn.net/course/detail/36768《Swin Transformer实战目标检测:训练自己的数据集》https://edu.csdn.net/course/detail/36585《Swin Transformer实战实例分割:训练自己的数据集》https://edu.csdn.net/course/detail/36586《Swin Transformer原理与代码精讲》 https://download.csdn.net/course/detail/37045
Transformer发轫于NLP(自然语言处理),并跨界应用到CV(计算机视觉)领域。 Swin Transformer是基于Transformer的计算机视觉骨干网,在图像分类、目标检测、实例分割、语义分割等多项下游CV应用中取得了SOTA的性能。该项工作也获得了ICCV 2021顶会最佳论文奖。本课程将手把手地教大家使用labelme标注和使用Swin Transformer训练自己的数据集进行图片和视频的实例分割。  本课程将介绍Transformer及在CV领域的应用、Swin Transformer的原理。 本课程以汽车驾驶场景图片和视频开展项目实践:对汽车行驶场景中的路坑、车、车道线进行物体标注和实例分割。  课程在Windows和Ubuntu系统上分别做项目演示。包括:安装软件环境、安装Pytorch、安装Swin-Transformer-Object-Detection、标注自己的数据集、准备自己的数据集数据集格式转换(Python脚本完成)、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计、日志分析。  本课程提供项目的数据集和相关Python程序文件。相关课程: 《Transformer原理与代码精讲(PyTorch)》https://edu.csdn.net/course/detail/36697《Transformer原理与代码精讲(TensorFlow)》https://edu.csdn.net/course/detail/36699《ViT(Vision Transformer)原理与代码精讲》https://edu.csdn.net/course/detail/36719《DETR原理与代码精讲》https://edu.csdn.net/course/detail/36768《Swin Transformer实战目标检测:训练自己的数据集》https://edu.csdn.net/course/detail/36585《Swin Transformer实战实例分割:训练自己的数据集》https://edu.csdn.net/course/detail/36586《Swin Transformer原理与代码精讲》 https://download.csdn.net/course/detail/37045
Swin-Transformer是一种新型的图像分类模型,它融合了transformer和局部窗口相互作用的思想,具有更高的计算效率和分类性能。在使用Swin-Transformer模型对自己的数据集进行训练时,一般需要进行以下几个步骤。 首先,需要准备好自己的数据集。这个数据集应包含图像和对应的类别标签。可以通过从网上下载公开数据集或者自己收集构建数据集。 接下来,需要对数据集进行预处理。首先,可以对图像进行尺寸的调整和归一化操作,确保输入的图像具有一致的尺寸和数据范围。其次,可以对标签进行编码,将类别信息转换为模型可以理解的数字形式。 然后,可以使用Swin-Transformer模型对数据集进行训练。在训练过程中,需要将数据集按照一定的比例分为训练集和验证集。训练集用于模型的参数更新,而验证集用于调整模型的超参数,以及评估模型的性能。 在每个训练迭代中,可以将一批图像输入到Swin-Transformer模型中,并计算模型的损失函数。通过反向传播算法,可以更新模型的参数,使得模型能够更好地拟合训练数据。 训练完成后,可以使用训练好的Swin-Transformer模型对新的图像进行分类预测。只需将图像输入到模型中,即可得到图像所属的类别标签。 总之,使用Swin-Transformer模型对自己的数据集进行图像分类需要准备数据集、预处理数据、划分训练集和验证集、进行训练和评估,并最终利用训练好的模型进行预测。这个过程需要仔细调整模型的超参数和进行适当的数据增强操作,以获得更好的分类性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值