Linux系统下搭建Swin Transformer目标检测环境

服务器环境:CentOS7

一、CUDA和cudnn的安装:

cuda:11.1

cudnn:8.0.4

参考博客:

https://blog.csdn.net/qq_40621476/article/details/125149676

创建虚拟环境并激活:

conda create -n swin python=3.8
conda activate swin

顺便记录一下一些conda的常用指令:

conda update -n base conda        #update最新版本的conda
conda update --all                #update最新版本的conda
conda create -n xxxx python=3.x   #创建python3.x的xxxx虚拟环境
conda activate xxxx               #激活虚拟环境
conda deactivate                  #退出虚拟环境
conda env list                    #显示所有的虚拟环境
conda info --envs                 #显示所有的虚拟环境
conda remove -n xx --all          #删除指定的虚拟环境

二、安装PyTorch(主要是torch和torchvision这两个包):

pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html

验证pytorch的安装情况:

import torch
print(torch.cuda.is_available())

返回True则为成功,返回False则要卸载重新安装。

关于我老卡在pytorch安装这一步,遇到各种各样的错误,我是真的会谢。。。最后干脆直接去下了两个轮子。。。网站:https://download.pytorch.org/whl/torch_stable.html,找对应cuda版本的torch和torchvision就好了,但还是记得验证一下。。。

Linux系统下搭建Swin Transformer目标检测环境_第1张图片 Linux系统下搭建Swin Transformer目标检测环境_第2张图片  

三、补充其他安装包 

pip install cython  matplotlib opencv-python

四、下载Swin Transformer源码

git clone https://github.com/SwinTransformer/Swin-Transformer-Object-Detection

进入Swin-Transformer-Object-Detection目录下,这一步意为用swin自带的mmdetection文件夹编译安装mmdet,执行:

pip install -r requirements.txt
python setup.py develop

五、mmcv-full安装

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

 六、编译安装apex

git clone https://github.com/NVIDIA/apex

进入apex目录下执行:

python setup.py develop

然后查看一下各个包的版本:

  Linux系统下搭建Swin Transformer目标检测环境_第3张图片  

  Linux系统下搭建Swin Transformer目标检测环境_第4张图片  

 注:这里mmdet后面跟了一个路径,意为指向此目录下的mmdetection文件夹,如果是从源码编译,路径就是另外一个了,(我试过源码编译,老报错 :( )

七、下载预训练模型

 Linux系统下搭建Swin Transformer目标检测环境_第5张图片 

八、测试验证

重新写个脚本吧,因为在linux系统上跑看不到可视化结果,所以干脆保存一下结果:

from mmdet.apis import init_detector, inference_detector

config_file = 'configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_1x_coco.py'  #配置文件路径
checkpoint_file = 'mask_rcnn_swin_tiny_patch4_window7_1x.pth'                                     #权重文件路径
device = 'cuda:0'
# init a detector
model = init_detector(config_file, checkpoint_file, device=device)
# inference the demo image
img = 'demo/demo.jpg'
result = inference_detector(model, 'demo/demo.jpg')
model.show_result(img, result)
model.show_result(img, result, out_file='demo/demo_result.jpg')                                   # 保存推理图像

执行此脚本,去保存路径下看到会有一个demo_result.jpg,就是结果啦!

Linux系统下搭建Swin Transformer目标检测环境_第6张图片

 

成功!

参考:

https://blog.csdn.net/yulizan9165/article/details/121702481

https://blog.csdn.net/qq_41964545/article/details/123140485

真的踩了好多坑·····报了好多错····成功的那一刻··哽咽了····

Linux系统下搭建Swin Transformer目标检测环境_第7张图片

 就酱 

你可能感兴趣的:(transformer,目标检测,深度学习)