win11下Swin-Transformer-Object-Detection-master测试成功

仅作为个人学习记录使用,侵权直接删除!!!
转自这里(侵权删)
前期准备
PyCharm 2021.3(只是IDE,版本不同也没关系)
显卡 3060 12G
Cuda 11.1 (与显卡、Pytorch要求合适即可)
Python 3.8
Anaconda3 2021.05(版本无限制)
VS2019

环境安装
VS 2019 建议安装2019版本

  1. VS 2019 安装
    VS 2019下载地址

直接去VS官网下载,第一步下载的时候可能需要翻墙,后面下载的时候不用翻墙,安装时只勾选桌面端的C++部分就可以。

添加环境变量到系统环境变量->Path下,地址在安装目录下(根据自己的安装位置):D:\install_in_D\VS2019\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x64
验证是否可用:
在这里插入图片描述

  1. 创建conda 虚拟环境
    方案一(直接创建)
    直接创建:conda create -n swin python=3.8
    激活conda环境:activate swin

  2. pytorch 安装(版本1.8.2)
    官网地址:https://pytorch.org/

安装:pip3 install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio===0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html

  1. 安装其他必要的Python包
    在虚拟环境下执行:
pip install cython matplotlib opencv-python timm -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
  1. 安装mmcv
    项目地址:mmcv
    下载好mmcv之后,进行接下来的安装操作
    打开 conda的power shell(一定要用这个)
    在这里插入图片描述
    进入到 conda环境目录,激活conda 环境
    直接创建的conda环境的使用:activate swin
    进入到 mmcv 目录下,执行
pip install -r requirements.txt

来安装mmcv所需的python包

配置环境变量:因为在安装mmcv时用到。
在这里插入图片描述
在这个位置进行新建环境变量
第一步:
$env:TORCH_CUDA_ARCH_LIST="8.0" 8.0为显卡算力
在这里插入图片描述
第二步:

$env:MMCV_WITH_OPS = 1 #

在这里插入图片描述
第三步:
$env:MAX_JOBS = 8 根据CPU核心数设置(其实我是10核心,不大于你CPU核心应该就没事)
在这里插入图片描述

确保vs安装成功并且有C++模块
运行:python setup.py build_ext(这步包括下面的一步就会用到之前VS中的cl工具)
运行:python setup.py develop
验证:pip list 会看到 mmcv-full(记得确定一下版本对不对 1.3.17)
在这里插入图片描述
安装mmcv-full通常会出现问题,一定要注意vs安装成功后是否重启电脑,不重启电脑会导致vs无法正常使用,代码运行自然也是错误的!(亲身经历)
通常情况下mmcv-full默认的安装版本为1.5.0但是在本次代码中使用的是1.3.17,版本太高是不能正常运行代码的。切记!切记!切记!
可以在配置好前面的操作后,使用下面的指令进行安装:

pip install mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.2/index.html

这是本文中使用到的指令!

  1. 安装mmdetection

激活虚拟环境activate swin
克隆mmdetection 的代码,找到要拉取的版本后直接下载就行,地址:https://github.com/open-mmlab/mmdetection/tree/v2.20.0
进入 mmdetection的代码目录,安装mmdetection所需的python包,执行:pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com (会在下载mmtrack时候出错,这是某个测试环境需要的包,暂时不管它,把它屏蔽掉,再运行上面命令)。
在这里插入图片描述
安装 mmdetection,执行 :python setup.py develop
验证 pip list 可以看到 mmdet(到这一步的时候版本为 2.20.0,但是后面配置Transformer时候会自动变成2.11.0,这个无伤大雅)
在这里插入图片描述

  1. 安装 apex
    注:apex可以尝试直接用pip装,但是不是确定是否可用,可以尝试。
    apex 项目:https://github.com/NVIDIA/apex
    进入 apex 文件夹
    执行:python setup.py install
    pip list 能看见 apex (0.1版本,只有这一个版本)
    注:安装的apex会在训练模型时候有一个警告内容如下:(但实际没啥影响)–》个人没有遇到这个警告
fused_weight_gradient_mlp_cuda module not found. gradient
 accumulation fusion with weight gradient computation disabled.
  1. 拉取Swin-Transformer-Object-Detection-master代码
    地址:Swin-Transformer-Object-Detection-master
    所用环境为前面准备好的虚拟环境
    进入虚拟环境后配置Swin-Transformer-Object-Detection-master所需的一些补充环境:
    运行pip install -r requirements.txt
    在虚拟环境下,进入Swin-Transformer-Object-Detection 项目目录,执行:python setup.py develop
    到这里基本没什么问题了
  2. 测试工程

下载权值文件:(直接丢在项目根目录下)
在这里插入图片描述
验证执行如下命令:

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

成功的话 能看到测试成功的实例图片
在这里插入图片描述
温馨提示:一定要一个步骤一个步骤的走,能避免绝大部分的问题,显卡算力可以适当的降低为自己显卡低一级别的算力

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值