Swin-Transformer-Object-Detection环境搭建

1、 Swin-Transformer-Object-Detection系列版本

​​​​​​​​Swin-Transformer-Object-Detection

2 MMdetection系列版本

mmdetection

3、 MMDetection和MMCV兼容版本



4、Installation(Linux系统环境安装)

1、pytorch 与cudn的匹配版本

2、创建虚拟环境并安装pytorch

conda create -n mmdetection python=3.7 -y   #创建环境
conda activate mmdetection                  #激活环境
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch  #安装 PyTorch and torchvision (官方)#如果网不好,可以这样安装
pip3 install torch==1.8.2+cu102 torchvision==0.9.2+cu102 torchaudio===0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com#验证是否安装成功>>> import torchvision
>>> import torch
>>> import.__version__File "<stdin>", line 1import.__version__^
SyntaxError: invalid syntax
>>> torch.__version__
'1.8.2+cu102'

3、安装mmcv-full

下面是cuda、pytorch和mmcv-full的版本

查看torch1.6.0支持的mmcv-full的版本
注意:上面提供的预构建包不包括所有版本的mmcv-full,您可以单击相应的链接(查看torch1.6.0支持的mmcv-full的版本)来查看支持的版本。例如,您可以单击cu102-torch1.8.0,可以看到cu102-torch1.8.0只提供1.3.0及以上版本的mmcv-full。此外,从v1.3.17开始,我们不再提供使用PyTorch 1.3和1.4编译的完整的mmcv预构建包。你可以在这里找到用PyTorch 1.3和1.4编译的以前版本。在我们的Cl中,兼容性仍然得到保证,但我们将在明年放弃对PyTorch 1.3和1.4的支持。

#Install mmcv-full. 安装mmcv-full
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.htmlPlease replace {cu_version} and {torch_version} in the url to your desired one. For example, to install the latest mmcv-full with CUDA 11.0 and PyTorch 1.7.0, use the following command:#案例1:(安装最新版本)
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html#案例2:(安装特定版本)
pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html #明确mmcv-full的版本号pip install mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com #(镜像加速安装)#验证是否安装成功
import mmcv#如果出现
>>> import mmcv
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-10.2'#我们去看看驱动:
nvidia-smi如果返回NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.这种情况是由于重启服务器,linux内核升级导致的,由于linux内核升级,之前的Nvidia驱动就不匹配连接了,但是此时Nvidia驱动还在,可以通过命令 nvcc -V 找到答案。#解决方法:
查看已安装驱动的版本信息
ls /usr/src | grep nvidia
(mmdetection) lhy@thales-Super-Server:~$ ls /usr/src | grep nvidia
nvidia-440.33.01#进行下列操作
sudo apt-get install dkms
sudo dkms install -m nvidia -v 440.33.01#然后进行验证:
(mmdetection) lhy@thales-Super-Server:~$ nvidia-smi
Fri May  6 00:56:02 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  TITAN RTX           Off  | 00000000:02:00.0 Off |                  N/A |
|  0%   47C    P0    54W / 280W |      0MiB / 24220MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  TITAN RTX           Off  | 00000000:03:00.0 Off |                  N/A |
|  0%   47C    P0    65W / 280W |      0MiB / 24220MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   2  TITAN RTX           Off  | 00000000:82:00.0 Off |                  N/A |
|  0%   48C    P0    63W / 280W |      0MiB / 24220MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
|   3  TITAN RTX           Off  | 00000000:83:00.0 Off |                  N/A |
|  0%   46C    P0    42W / 280W |      0MiB / 24220MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
(mmdetection) lhy@thales-Super-Server:~$ python
Python 3.7.13 (default, Mar 29 2022, 02:18:16)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mmcv

4、MMDetection安装

#克隆mmdetection存储库
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection

安装构建要求,然后安装mmdetection。(我们通过github repo安装pycocotools而不是pypi,因为pypi版本较旧并且与最新的numpy不兼容。)

pip install cython matplotlib opencv-python
cython
numpy
matplotlibpip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
#pip install -r requirements/build.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"
pip install -v -e .## or "python setup.py develop"
#a.当指定-e或develop时,MMDetection被安装在dev模式下,对代码所做的任何本地修改都将生效,无需重新安装
#b.如果你想使用opencv-python-headless而不是opencv-python,你可以在安装MMCV之前安装它。#安装完成
Using /home/lhy/anaconda3/envs/mmdetection/lib/python3.7/site-packages
Finished processing dependencies for mmdet==2.24.1

注意:
1.git commit的id将在步骤d中写入版本号,例如0.6.0 + 2e7045c。该版本还将保存在经过训练的模型中。建议你每次从github获取一些更新时都运行步骤d。如果修改了C++/CUDA代码,则此步骤为强制性的。
2.按照上述说明,mmdetection将安装在dev模式下,对代码进行的任何本地修改都将生效,而无需重新安装它(除非你提交了一些提交并希望更新版本号)。
3.如果要使用 opencv-python-headless 来代替 opencv-python,可以在安装MMCV之前先安装它。
4.一些依赖关系是可选的。只需运行 pip install -v -e .,将只会安装最低运行时间要求。要使用可选的依赖项如albumentations和imagecorruptions,并使用pip install -r requirements/optional.txt 手动安装它们,或者在调用pip时指定所需的附加项(例如pip install -v -e .[optional])。对于额外字段的有效键为:all,tests,build,和 optional。

#安装额外依赖Instaboost, Panoptic Segmentation, LVIS数据集,或Albumentations。# for instaboost
pip install instaboostfast
# for panoptic segmentation
pip install git+https://github.com/cocodataset/panopticapi.git
# for LVIS dataset
pip install git+https://github.com/lvis-dataset/lvis-api.git
# for albumentations
pip install -r requirements/albu.txtd.如果你想使用albumentations,我们建议使用pip install -r requirements/ albumentations或pip install -U albumentations——nobinary qudida, albumentations。如果您简单地使用pip install albumentations&gt;=0.3.2,它将同时安装opencv-python-headless(即使您已经安装了opencv-python)。我们建议在安装albumentation的产品后检查环境,以确保opencv-python和opencv-python-headless没有被同时安装,因为如果同时安装可能会导致意想不到的问题。请参阅官方文件了解更多细节。

5、apex安装

git clone https://github.com/NVIDIA/apex#进入 apex 文件夹
执行:python setup.py installgit clone https://github.com/NVIDIA/apex
cd apex
python3 setup.py installpip list 能看见 apex (0.1版本,只有这一个版本)
注:安装的apex会在训练模型时候有一个警告内容如下:(但实际没啥影响)
fused_weight_gradient_mlp_cuda module not found. gradient accumulation fusion with weight gradient computation disabled.

5、测试搭建好的环境

添加一个自己的图片在demo目录下,执行:

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


不输出实例分割图,demo/image_demo.py 做如下修改:

demo/image_demo.py 做如下修改:# test a single imageresult = inference_detector(model, args.img)new_result = result[0]# show the resultsshow_result_pyplot(model, args.img, new_result, score_thr=args.score_thr)
python demo/image_detection_demo.py  demo/demo.jpg configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py  weights/mask_rcnn_swin_tiny_patch4_window7.pth

6、问题解决

1.AssertionError: Incompatible version of pycocotools is installed. Run pip uninstall pycocotools first. Then run pip install mmpycocotools to install open-mmlab forked pycocotools.

解决办法已经给出了,命令行中:

pip uninstall pycocotools
pip install mmpycocotools

2.KeyError: “CascadeRCNN: ‘backbone.layers.0.blocks.0.attn.relative_position_bias_table’”

预训练模型加载错误,应该使用imagenet预训练的模型,而不是在coco上微调的模型,这个错误我也很无奈啊,跟我预想的使用coco模型预训练不一样,官方github也有人提出相同问题,解决办法就是不加载预训练模型从头训练,或者在https://github.com/microsoft/Swin-Transformer上下载分类的模型。

3.import pycocotools._mask as _mask

File “pycocotools/_mask.pyx”, line 1, in init pycocotools._mask
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject。

numpy版本问题,使用pip install --upgrade numpy升级numpy版本

7、后续安装库

1、安装WBF库

pip install ensemble-boxes   -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

Swin-Transformer-Object-Detection V2.11.0环境搭建(一)相关推荐

  1. Swin Transformer Object Detection 目标检测、问题汇总

    文章目录 一.环境问题 1. unsupported Microsoft Visual Stadio version 2. 报错提示找不到 tmp目录下的某个文件 3. ImportError DDL ...

  2. Linux 0.11 实验环境搭建与调试

    缘起 之前我写过一篇博文:Linux 0.11 实验环境搭建 本以为有了这个环境(gcc-3.4 & gdb-6.8),就可以调试无忧了.谁知遇到了以下问题: (1)用 gdb 调试 main ...

  3. fastposter v2.11.0 天花板级的海报生成器

    fastposter v2.11.0 天花板级的海报生成器

  4. linux0.11+Bochs环境搭建和使用

    Linux 系统的创始人在一篇新闻组投稿上所说的,要理解一个软件系统的真正运行机制,一定 要阅读其源代码(RTFSC – Read The Fucking Source Code).系统本身是一个完整 ...

  5. (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功

    (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 Visual Studio 2015下载地址:https://msdn.itellyo ...

  6. vSphere 5.0 开发系列(一)vSphere 5.0 环境搭建手顺

    vSphere 5.0 开发系列(一)vSphere 5.0 环境搭建手顺 首先我们要简单了解一下vSphere整体设计结构. 接下来开始做服务器吧. 一.先做ESXi5.0服务器 找到一台干净服务器 ...

  7. 鸿蒙os2.0环境搭建gradle-5.4.1-all.zip下载失败问题解决方案

    鸿蒙os2.0环境搭建gradle-5.4.1-all.zip下载失败问题解决方案 解决 gradle-5.4.1-zip因拉取超时而失败的这个问题 鸿蒙官网的解决方案 1.按照上面链接找到 环境安装 ...

  8. yolov5-4.0环境搭建,零基础小白都能看得懂的教程。YOLOv5搭建的最快搭建方式,踩坑经历详谈)yolov5/yolov4/yolov3/yolov3通>>>>>>>>>>>>>>>>>第一章

    第一章:python最新YOLOv5-4.0环境搭建,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 环境准备: yolov5-4.0环境搭建整体说明 2,anaconda的 ...

  9. Linux 0.11 实验环境搭建

    如果想学习Linux 0.11,实验环境是必不可少的.最好是能编译,能运行,能调试. 如今大家都是用64位的Linux操作系统,而且是高版本的GCC(4.0以上),所以环境搭建是个难题.要么就是编译后 ...

  10. OMNI USDT 0.11.0 环境部署

    文章目录 一.生成Omni Core v0.11.0版本镜像 二.启动Omni Core v0.11.0版本容器 三.查看日志 一.生成Omni Core v0.11.0版本镜像 编写Dockerfi ...

最新文章

  1. 《Java 8 实战》(二)—— Lambda
  2. 水凝胶 静电纺丝_吉林大学:静电纺丝与水凝胶制备技术结合构建高强度光控智能水凝胶驱动器...
  3. 《大数据的“道”“术”“释”》----读书摘录+思考
  4. Javascript实现整站黑白效果(兼容IE/FF等浏览器)
  5. python免费试听-Python
  6. 【OpenCV入门指南】第五篇 轮廓检测 上
  7. linux多进程网络实例,Linux下一个单进程并发服务器的实例 使用select
  8. 机器学习算法优缺点对比及选择
  9. [导入].Net 中处理Word(2007)文档的一种方法
  10. ajax json 封装,Ajax--json(Ajax调用返回json封装代码、格式及注意事项)
  11. python3-开发进阶补充Django中的文件的上传
  12. android权威指南十三章,《Android编程权威指南》第30~32以及第34章读书笔记
  13. win8 网络受限解决
  14. linux内核源码分析plat-form 分析
  15. java求字符串数组交集、并集和差集
  16. 网络模型 OSI七层协议和TCP/IP四层协议
  17. bash 脚本编程 教程
  18. 【Redux】异步action与同步action
  19. JavaScript中的“黑话” 1
  20. # 二阶混合偏导(Second-order mixed derivatives)

热门文章

  1. Revit二次开发——预制构件自动配筋演示
  2. wamp 增加php 7.2,笔记 : WampServe加装PHP版本(7.2.3)为例
  3. C++求sinx的n阶积分从0-PI/2
  4. 大数据、智慧城市与智慧交通 (全集)
  5. Android 测试技能树
  6. 读《电商产品经理宝典》——重点摘录总结
  7. esp连接服务器的协议,【零知ESP8266教程】WIFI TCP协议通信 TCP服务器示例
  8. 手把手教你实现——Python文字(汉字)转语音教程,举一反三~
  9. qqkey获取原理_通过call获取qqkey支持最新版
  10. gsp认证计算机系统检查内容,版GSP认证之附录计算机系统检查项目PPT课件.ppt