集合网上的教程,记录自己的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
一路点击
同意并继续
自定义
默认位置即可
安装完毕
搜索环境变量
查看是否自动添加环境变量
重启电脑查看CUDA是否安装成功
cmd输入nvcc -V后回车
至此CUDA就装好了
nvcc -V
3、安装anaconda
由于这个软件是开源免费的,直接去官网下载安装即可
详细的安装教程网上已经非常多了 。
安装完之后就看到两个应用
需要注意的是anaconda貌似已经不能使用清华镜像源了
具体网上也有解决方法
打开conda
创建虚拟环境
进入虚拟环境
4、安装pytorch
查看cuda版本:
nvcc -V
这里我的版本是12.1
安装pytorch
直接复制上面链接给出的命令
conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.1 -c pytorch -c nvidia
输入 y 之后需要等很久,一直到出现 done 为止,这之间不需要操作
验证pytorch是否安装成功
输入python
按顺序输入以下三个命令
import torch
print(torch.__version__)
print(torch.cuda.is_available())
最终导入模块没有报错,并输出版本号和 ture 即可
5、下载安装git
6、安装opencv2
pip3 install opencv-contrib-python
7、安装opencv
pip3 install opencv-python
8、安装CUDNN
下载地址
查找历史版本
下载完解压
解压完打开,将里面所有文件拷贝到CUDA文件夹里
9、下载Detectron2
用Git 克隆Detectron2 最新代码
git clone https://github.com/facebookresearch/detectron2.git
这里我克隆不下来
可以去git上下载,现在csdn有git加速计划
git下载地址
git加速计划下载地址
解压detectron2
修改detectron2配置文件
依次打开路径
D:\detectron2\detectron2-main\detectron2\layers\csrc\nms_rotated\
右键修改文件
添加以下代码到指定位置
#define WITH_HIP
10、修改CUDA配置文件
修改文件夹权限
找到以下路径
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include\crt
先修改crt文件夹的权限
修改host_config.h
右键编辑
将这里的1940改为2000
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(最后的代码测试部分)
后续还会研究下如何训练自己的模型。