win10下detectron2编译安装方法及问题汇总

环境

硬件
硬件:
CPU:Intel®Core™i5-10400F CPU @2.90GHz 2.90GHz
GPU: NVIDIA GeForce GTX 1660 Ti (6G显存)
内存:16.0GB(15.9GB可用)

软件:
Visual Studio 2019
CUDA10.1,cudnn
Anaconda3
torch 1.6.0+cu101
torchvision 0.7.0+cu101
python=3.8.0
detectron2

准备工作

  1. Anaconda3,Visual Studio 2019,CUDA,cudnn等安装方法参考网上安装教程。
  2. detectron2
    detectron2的GitHub下载链接(master)

安装

1. 创建虚拟环境
以管理员身份运行Anaconda Promp,详细步骤如下图:
在这里插入图片描述

鼠标放在Anaconda Prompt上面,按下鼠标右键,选择“更多->以管理员身份运行”出现Anaconda Prompt命令行

在这里插入图片描述

点击【以管理员身份运行】
在这里插入图片描述

设置清华源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

创建虚拟环境

conda create --name detectron2py38 python=3.8.0

激活虚拟环境

conda activate detectron2py38

查看已有的虚拟安装环境

conda env list

conda常用命令:
conda list:查看安装了哪些包。
conda install package_name(包名):安装包
conda env list 或 conda info -e:查看当前存在哪些虚拟环境
conda create -n your_env_name python=X.X(2.7、3.6等): 创建虚拟环境
conda activate your_env_name(虚拟环境名称):进入虚拟环境
conda deactivate your_env_name(虚拟环境名称):退出虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all:删除虚拟环境

2. 安装pytorch与torchvision

python -m pip install torch1.6.0+cu101 torchvision0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

测试pytorch 安装是否成功

python
import torch
torch.cuda.is_available()

显示为True即为安装成功

3. 安装相关依赖库
安装pycocotools:

python -m pip install pycocotools

安装opencv:

python -m pip install opencv-python

安装scrapy

conda install scrapy

4. 编译安装detectron2
切换到detectron2所在的盘符,例如切换到D盘

d:

切换到detectron2所在目录,例如

cd D:\detectron2\detectron2_master

编译安装

python setup.py build develop

说明:
develop命令不会安装软件包,但它会创建一个.egg-link部署目录回项目源代码目录。
所以这就像安装,但不是复制到site-packages。它添加一个符号链接(.egg-link充当多平台符号链接)。这样,您可以编辑源代码并直接查看更改,而无需在每次进行一些更改时重新安装,重装pytorch之后detectron2需要重新编译

5. 测试detectron2的运行环境
在D:\detectron2\tests的文件夹下创建一个test_windows_install.py文件夹,里面输入:

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

import cv2
import numpy as np
import requests

# Load an image
res = requests.get("https://live.staticflickr.com/700/33224654191_fdaee2e3f1_c_d.jpg")
image = np.asarray(bytearray(res.content), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)

config_file = 'COCO-Detection/faster_rcnn_R_101_FPN_3x.yaml'
cfg = get_cfg()
cfg.merge_from_file(model_zoo.get_config_file(config_file))
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.75 # Threshold
cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url(config_file)
cfg.MODEL.DEVICE = "cuda" # cpu or cuda

# Create predictor
predictor = DefaultPredictor(cfg)

# Make prediction
output = predictor(image)
print(output)
v = Visualizer(image[:, :, ::-1],
               scale=0.8,
               metadata=MetadataCatalog.get(cfg.DATASETS.TRAIN[0]),
               instance_mode=ColorMode.IMAGE
               )
v = v.draw_instance_predictions(output["instances"].to("cpu"))
cv2.imshow('images', v.get_image()[:, :, ::-1])
cv2.waitKey(0)

运行:

python tests\test_windows_install.py

测试结果:
在这里插入图片描述

6. 使用说明
编译成功后会在detectron2(子目录)目录下生成一个pyd文件,使用detectron2平台时将此pyd文件复制到对应的detectron2目录下,或将detecttion2目录复制到python工程目录下,例如使用centernet2网络时,操作如下:
在这里插入图片描述

问题汇总

1. Error: Internal Compiler Error (codegen): "there was an error in verifying the lgenfe output!
系统环境变量CUDA版本问题,例如使用CUDA10.1时,设置如下:
在这里插入图片描述
2. deform_conv_cuda_kernel.cu
在这里插入图片描述
用notepad++打开deform_conv_cuda_kernel.cu文件
在这里插入图片描述
查找:floor
在这里插入图片描述
替换为:floorf
在这里插入图片描述
在这里插入图片描述
3. nms_rotated_cuda.cu
在这里插入图片描述
用notepad++打开nms_rotated_cuda.cu文件
在这里插入图片描述
需要把红色标出的部分注释掉,再加入#include “box_iou_rotated/box_iou_rotated_utils.h”
在这里插入图片描述
下图所示为改动后的结果
在这里插入图片描述
4. ROIAlignRotated_cuda.cu
在这里插入图片描述
用notepad++打开ROIAlignRotated_cuda.cu文件
在这里插入图片描述
查找:ceil
在这里插入图片描述
替换为:ceilf(注意不是替换所有,只替换四个,如下图所示)
在这里插入图片描述
5. OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized
在报错脚本顶部添加:

import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
### 回答1: 要在Windows 10上安装Detectron2,您需要按照以下步骤操作: 1. 安装Anaconda或Miniconda 2. 创建一个新的conda环境 3. 安装PyTorch 4. 安装COCO API 5. 安装Detectron2 具体步骤可以参考Detectron2官方文档。 ### 回答2: 在Windows 10下安装Detectron2需要进行以下步骤: 1. 确保系统已经安装了C++构建工具。可以通过运行`Visual Studio Installer`来安装所需的C++工具集。 2. 确保Python环境已经正确安装并配置。建议使用Anaconda进行Python环境管理。 3. 创建一个新的Python虚拟环境(可选),可以使用以下命令来创建: ``` conda create -n detectron2 python=3.7 ``` 4. 激活新创建的虚拟环境,使用以下命令: ``` conda activate detectron2 ``` 5. 确保虚拟环境已激活后,使用以下命令来安装Detectron2及其依赖: ``` pip install torch torchvision ``` ``` pip install cython ``` ``` pip install opencv-python ``` ``` pip install git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI ``` ``` pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cpu/index.html ``` 6. 安装完成后,使用以下命令来验证Detectron2安装是否成功: ``` python -c "import detectron2; print(detectron2.__version__)" ``` 如果以上步骤都按照正确操作,你应该能够在Windows 10系统上成功安装Detectron2,并且可以在你的Python环境中使用它进行计算机视觉任务的开发和实验。 ### 回答3: 要在Windows 10下安装Detectron2,你可以按照以下步骤进行操作: 1. 首先,在你的Windows 10系统上安装Python。你可以从Python官方网站 (https://www.python.org/downloads/) 下载并安装Python 3.6或以上版本。 2. 安装Microsoft Visual C++ Build Tools。你可以从 https://visualstudio.microsoft.com/visual-cpp-build-tools/ 下载并安装适用于Windows的Build Tools。 3. 安装PyTorch和TorchVision。你可以从PyTorch官方网站 (https://pytorch.org/) 下载适用于Windows的预编译的PyTorch和TorchVision版本,并按照官方指南进行安装。 4. 安装Detectron2的依赖项。打开命令行界面,并使用pip install命令安装以下依赖项: ``` pip install cython pip install pycocotools-windows pip install opencv-python ``` 5. 克隆Detectron2的GitHub代码库。在命令行界面中使用git命令克隆Detectron2的代码库: ``` git clone https://github.com/facebookresearch/detectron2.git ``` 6. 在命令行界面中导航到Detectron2的代码库,并使用以下命令安装Detectron2: ``` cd detectron2 python -m pip install -e . ``` 7. 安装完毕后,你可以在Python中导入Detectron2并开始使用它。例如,你可以使用以下命令导入Detectron2: ```python import detectron2 ``` 这些是在Windows 10下安装Detectron2的基本步骤。请注意,上述步骤可能会因为Detectron2的版本和相关依赖项的更新而略有不同,建议在安装参考Detectron2的官方文档和GitHub页面上的详细指南。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值