windows11下安装detectron2

集合网上的教程,记录自己的detectron2安装过程


前言

windows11下anaconda安装detectron2

1、安装VS2019

很多教程都说2019最稳定,不容易报错。

下载地址:

https://pan.baidu.com/s/1IRavoEk5Rf2qmQGWXC1_gQ?pwd=6789

安装教程:

https://mp.weixin.qq.com/s/a7HDCUc82oSn12-8LiEPvw

2、安装显卡驱动和CUDA10.1

N卡驱动下载官网:

https://www.nvidia.cn/geforce/drivers/

CUDA12.1下载地址:

https://developer.nvidia.com/cuda-toolkit-archive
CUDA12.1下载
安装CUDA12.1
在这里插入图片描述
一路点击
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同意并继续
在这里插入图片描述
自定义
在这里插入图片描述
在这里插入图片描述

默认位置即可

在这里插入图片描述
在这里插入图片描述
安装完毕
在这里插入图片描述
在这里插入图片描述
搜索环境变量
在这里插入图片描述
在这里插入图片描述
查看是否自动添加环境变量
在这里插入图片描述
重启电脑查看CUDA是否安装成功
cmd输入nvcc -V后回车
至此CUDA就装好了

nvcc -V

在这里插入图片描述

3、安装anaconda

由于这个软件是开源免费的,直接去官网下载安装即可

详细的安装教程网上已经非常多了 。
安装完之后就看到两个应用
anaconda应用图标

需要注意的是anaconda貌似已经不能使用清华镜像源了
具体网上也有解决方法

打开conda

打开conda

创建虚拟环境

创建虚拟环境

进入虚拟环境

进入虚拟环境
虚拟环境界面

4、安装pytorch

查看cuda版本:

nvcc -V

这里我的版本是12.1

查看cuda版本

cuda和pytorch对应版本关系链接

cuda和pytorch版本关系

安装pytorch

直接复制上面链接给出的命令

conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.1 -c pytorch -c nvidia

安装pytorch

输入 y 之后需要等很久,一直到出现 done 为止,这之间不需要操作

pytorch安装过程

验证pytorch是否安装成功

输入python
按顺序输入以下三个命令

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

最终导入模块没有报错,并输出版本号和 ture 即可
验证pytorch是否安装成功

5、下载安装git

下载地址
根据电脑选择
git下载地址
直接安装
安装教程

git安装

6、安装opencv2

pip3 install opencv-contrib-python

安装opencv2

7、安装opencv

pip3 install opencv-python

在这里插入图片描述

8、安装CUDNN

下载地址
下载CUDNN
查找历史版本
查找CUDNN历史版本
在这里插入图片描述
在这里插入图片描述
下载完解压
在这里插入图片描述
解压完打开,将里面所有文件拷贝到CUDA文件夹里
在这里插入图片描述
在这里插入图片描述

9、下载Detectron2

用Git 克隆Detectron2 最新代码

git clone https://github.com/facebookresearch/detectron2.git

这里我克隆不下来

下载克隆报错
可以去git上下载,现在csdn有git加速计划
git下载地址
git加速计划下载地址

解压detectron2

解压detectron2

修改detectron2配置文件

依次打开路径
D:\detectron2\detectron2-main\detectron2\layers\csrc\nms_rotated\

右键修改文件
修改detectron2配置文件
添加以下代码到指定位置

#define WITH_HIP

修改detectron2配置文件

10、修改CUDA配置文件

修改文件夹权限

找到以下路径

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include\crt

先修改crt文件夹的权限

修改文件夹权限

修改host_config.h
右键编辑

找到crt下文件

将这里的1940改为2000

修改CUDA配置文件

11、安装编译detectron2

进入setup.py的位置

进入安装包位置
在虚拟环境中进入位置,输入以下代码:

pip install -e .

以下其他代码也可以:

python -m pip install -e detectron2-main
python setup.py build --force develop

等待安装

在这里插入图片描述
这就安装好了
在这里插入图片描述

12、安装cython

pip install cython

在这里插入图片描述

13、测试运行detectron2

在项目目录中新建两个文件
分别命名为

Detector.py

main.py

在这里插入图片描述

Detector.py中粘贴以下代码:

from detectron2.engine import DefaultPredictor
from detectron2.config import get_cfg
from detectron2.data import MetadataCatalog
from detectron2.utils.visualizer import ColorMode, Visualizer
from detectron2 import model_zoo

import cv2
import numpy as np

class Detector:
    def __init__(self, model_type = "OD"):
        self.cfg = get_cfg()

        if model_type == "OD":
            self.cfg.merge_from_file(model_zoo.get_config_file("COCO-Detection/faster_rcnn_R_101_FPN_3x.yaml"))
            self.cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO-Detection/faster_rcnn_R_101_FPN_3x.yaml")
        elif model_type =="IS":
            self.cfg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"))
            self.cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")
        self.cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.7
        self.cfg.MODEL.DEVICE = "cuda"

        self.predictor = DefaultPredictor(self.cfg)

    def onImage(self, imagepath):
        image = cv2.imread(imagepath, flags=1)

        predictions = self.predictor(image)

        viz = Visualizer(image[:,:,::-1], metadata = MetadataCatalog.get(self.cfg.DATASETS.TRAIN[0]),
                         instance_mode = ColorMode.SEGMENTATION)

        output = viz.draw_instance_predictions(predictions["instances"].to("cpu"))

        cv2.namedWindow("Result", 0)
        cv2.resizeWindow("Result", 1200, 600)
        cv2.imshow("Result", output.get_image()[:,:,::-1])
        cv2.waitKey(0)

main.py中粘贴以下代码:

其中 ‘test.jpg’ ,随便找一张图片替换上去

from Detector import *

detector = Detector(model_type="IS")

detector.onImage(r'D:\\Desktop\\test.jpg')

运行main脚本

等待识别结果

在这里插入图片描述

输出结果

在这里插入图片描述

这里我们用的是项目中已经训练过的网络模型,直接在Detector.py文件中读取检测/分割算法的配置文件后,并且读取对应的预训练权重文件,然后将保存配置文件参数的cfg传入给调用的DefaultPredictor,进行算法的效果演示。

引用

在这期间查找的文章,有兴趣可以看下原文:
Detectron2安装(Win11):https://blog.youkuaiyun.com/lian2020/article/details/144132254
Windows11下安装detectron2超详细教程(免修改版本)(不用进行修改代码):https://blog.youkuaiyun.com/CaiGuoHui1/article/details/129351090
Windows11安装detectron2全流程记录帖(含torch安装):https://blog.youkuaiyun.com/weixin_43907922/article/details/138082343
windows系统中安装目标检测平台detectron2:http://laowubiji.com/windows_detectron2/
Detectron2 安装踩坑:https://blog.youkuaiyun.com/woxiangxinwang/article/details/132858039
安装detectron2教程:https://www.bilibili.com/video/BV1vQbWe4EVL?spm_id_from=333.788.player.switch&vd_source=51257c3d7c556342b36106dfc3fb42ce&p=6(最后跟着这个up的视频成功了)
CUDA10.1+cuDNN 超详细版安装教程,步骤清晰不多余:https://blog.youkuaiyun.com/qq_51983316/article/details/133252055
Detectron2安装踩坑记录(比较详细版):https://blog.youkuaiyun.com/blink182007/article/details/124222921
【第二次安装】安装detectron2 ——0.6版本:https://blog.youkuaiyun.com/m0_73700676/article/details/134430128
Python中cv2 (OpenCV, opencv-python)库的安装、使用方法demo最新详细教程:https://blog.youkuaiyun.com/qq_44866828/article/details/138270063
detectron2训练自己的数据集:https://blog.youkuaiyun.com/ycx_ccc/article/details/128034277(最后的代码测试部分)

后续还会研究下如何训练自己的模型。

### 在 Windows 11安装 Detectron2 的方法 #### 创建虚拟环境 为了确保软件包之间的兼容性和隔离开发环境,在开始之前建议创建一个新的 Python 虚拟环境。这可以通过 `conda` 或者 `venv` 来完成[^2]。 ```bash # 使用 conda 创建名为 detectron2-env 的环境并激活它 conda create --name detectron2-env python=3.8 -y conda activate detectron2-env ``` #### 配置 PyTorch 环境 Detectron2 是基于 PyTorch 构建的,因此需要先设置好支持 GPU 加速(如果有的话)的 PyTorch 版本。对于 CUDA 11.x 用户来说,应该选择合适的 PyTorch 发行版来匹配自己的 CUDA 版本。 ```bash # 安装特定于 CUDA 11.1 的 PyTorch 和 torchvision pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html ``` #### 安装 COCO API COCO 数据集是计算机视觉领域常用的标注数据集合之一;而 cocoapi 则是用来处理这些数据的一个工具包。按照官方文档指示进行安装可以简化后续工作流程[^3]。 ```bash git clone https://github.com/cocodataset/cocoapi.git cd cocoapi/PythonAPI make python setup.py build_ext install ``` #### 获取 Detectron2 源码 通过 Git 将最新的 Detectron2 库克隆下来,并进入该项目目录准备进一步的操作[^5]。 ```bash git clone https://github.com/facebookresearch/detectron2.git cd detectron2 ``` #### 编辑源文件适应本地环境 有时可能需要根据个人系统的具体情况调整某些源代码中的参数或者路径设定。比如修改 `nms_rotated_cuda.cu` 文件以适配不同的硬件条件。 #### 安装依赖项与构建扩展模块 执行命令安装所有必要的 Python 包以及编译 C++ 扩展部分。此过程可能会涉及到一些额外的配置选项,请参照具体提示信息操作[^4]。 ```bash pip install -r requirements.txt python setup.py build develop ``` #### 测试安装是否成功 最后一步就是验证整个框架能否正常运行。可以从项目根目录启动一个简单的演示程序来看看效果如何。 ```python from detectron2.engine import DefaultPredictor import detectron2.data.transforms as T predictor = DefaultPredictor(cfg) aug_input = T.AugInput(im) _ = predictor(aug_input, (im.shape[0], im.shape[1])) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值