【安装教程】Windows10/11安装detectron2教程
2023.1.4 更新,经过测试,直接使用“二、修复VS2022的链接错误”这个方法即可成功解决VS进行编译时的报错问题
2023.1.3 更新,关于使用VS进行编译时的报错问题
部分vs版本,例如最新的vs2022可能在detectron2编译时报错:
lazy_init_num_threads@internal@at@@YAXXZ@4_NA vision.obj : error LNK2001: 无法解析的外部符号 __imp___tls_index_?init@?1??
可能的原因是vs2022的线程初始化有一些问题,这可能是vs的一个bug,也有可能是pytorch的bug,在未来的版本可能会修复,我在安装detectron2时是没有遇到这个问题的。这里给出解决办法:
一、添加环境变量
方法一:添加临时的环境变量
注意!这种方法添加的环境变量在关闭命令行之后就会失效
找到vs安装目录下的vcvars64.bat文件,使用命令行打开,例如我的文件位置在E:\VSIDE\VC\Auxiliary\Build\vcvars64.bat,那么在命令行中输入:
E:\VSIDE\VC\Auxiliary\Build\vcvars64.bat
开启VS2022的x64环境,接着输入三条指令:
set MAX_JOBS=4
set DISTUTILS_USE_SDK=1
set OMP_NUM_THREADS=1
然后尝试在当前命令行窗口中重新安装detectron2.
方法二:在系统环境变量中添加
这个方法就是在环境变量中添加,自行搜索win10/11添加系统环境变量。这种方法优点是不需要每次开启新命令行是都使用set XXX命令
方法三:在vcvars64.bat中添加
使用记事本打开vcvars64.bat,在原有的文本后输入三个set命令:
不推荐这种办法,因为会修改vs文件。
添加环境变量后如果安装还是报错,请尝试第二个解决办法:
二、修复VS2022的链接错误
该解决办法来自github的pull89511,pytorch的源码中有模棱两可的说法的问题,最简单的办法如下:
将pytorch源码的parallel.h中第32行的(如果你是base环境,那么位置在anaconda3\Lib\site-packages\torch\include\ATen\Parallel.h)
inline TORCH_API void lazy_init_num_threads() {
更改为:
inline void lazy_init_num_threads() {
注意,如果你有多个python环境安装了多个pytorch,那会有很多个Parallel.h,要找到你在使用的环境的pytorch源码目录(一定要找对,不然修改了不起作用)。例如我有一个叫py38的环境,那么我pytorch源码的路径就是anaconda3\envs\py38\Lib\site-packages\torch\include\ATen\Parallel.h
如果觉得找文件很麻烦,这里推荐一个软件everything,可以非常快搜索电脑上的文件。
想要进一步了解错误产生原因的建议进pull89511仔细看一下。
下面是原文章(2022.11.28):
由于Facebook的detectron2没有对windows平台做官方支持,所以在安装的时候发生了很多问题,于是有了这篇问题记录的贴子。截至2022.11.28GitHub上detectron2的版本为0.6。
如果文章对你有帮助请给我一个小小的赞。
1.安装环境
pyhon 3.7.6
cuda 11.6
pytorch 1.13
由于安装需要编译,请安装VS的C++开发环境
2.下载源码
官方github源码地址
使用git命令下载
git clone https://github.com/facebookresearch/detectron2.git
3.下载安装pycocotools-windows
使用pip命令安装
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
如果需要前置安装包,按要求下载即可。
为什么要手动安装pycocotools?
首先是pycocotools官方不支持windows系统,detectorn2却需要pycocotools,到时候安装detectron2时也会自动调用pip安装,但是会安装失败(因为直接pip install pycocotools会报错)。
4.修改detectron2的安装配置文件(重要)
1)修改setup.py
将setup.py中install_requires内容做如下修改(大概在165行):
"pycocotools>=2.0.2" 修改为 "pycocotools"
因为windows版本的pycocotools最新为2.0版本,故需要删除版本要求。修改完成后保存即可。
2)修改detectron2\detectron2\layers\csrc\nms_rotated\nms_rotated_cuda.cu文件
将using namespace detectron2;这一行之前(其实就是1-12行)的内容用如下程序段替代(其实就是注释了部分内容):
#include <ATen/ATen.h>
#include <ATen/cuda/CUDAContext.h>
#include <c10/cuda/CUDAGuard.h>
#include <ATen/cuda/CUDAApplyUtils.cuh>
/*#ifdef WITH_CUDA
#include "../box_iou_rotated/box_iou_rotated_utils.h"
#endif
// TODO avoid this when pytorch supports "same directory" hipification
#ifdef WITH_HIP
#include "box_iou_rotated/box_iou_rotated_utils.h"
#endif*/
#include "box_iou_rotated/box_iou_rotated_utils.h"
这样改的原因参见GitHub网页的issues2769
5.安装detectron2
上述步骤都完成后,就可以安装detectron2了,使用官方安装文档的代码:
python -m pip install -e detectron2
注意此时终端的路径应该是detectron2的上一级目录,比如你使用git clone将源码拷贝到了D:/detectron2,那么你的pip命令执行时终端的目录应该在D盘根目录。
安装过程中请保持网络畅通,pip需要下载detectron2的依赖包,因为网络原因下载失败的话请多试几次。
等待几分钟安装就完成了。 注意,如果pip出现红字提醒你版本不匹配或者有其他包没有安装的话,请安装提示更新或者安装对应版本的包即可。
6.测试detectron2
参考官方文档的Getting Started部分,切换终端路径到demo,输入代码:
python demo.py --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --webcam --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl
--webcam 使用摄像头测试,如果要测试图片,使用--input指令:
python demo.py --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml \--input input1.jpg input2.jpg --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl
得到检测结果
以上就是detecron2安装的全部内容了,如果有什么问题或者疑问欢迎在评论区或私信指出。
【安装教程】Windows10/11安装detectron2教程相关推荐
- 硬盘安装opensuse linux 11.4 图文教程,硬盘安装openSUSE Linux 11.4 图文教程
本文介绍在Windows XP和Windows 7下面通过grub引导来硬盘安装openSUSE Linux 11.4操作系统.xp下安装较简单,win7下可能要用EasyBCD修复BCD引导,文中有 ...
- Windows10/11安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机
很多优秀的生物信息学软件,如QIIME.QIIME 2.LEfSe等没有Windows版,而使用VirutalBox虚拟机不仅效率低,而且挂载外部硬盘和使用中也经常遇到各种问题,配置和使用详见 - 扩 ...
- Centos7安装RabbitMQ3.8.11
Centos7安装RabbitMQ3.8.11 安装Erlong RabbitMQ是erlong语言编写的,故安装前需先安装erlong语言环境,并且RabbitMQ版本有对应的erlong版本要求. ...
- 解决Windows10/11系统DWcc2021安装失败打不开问题 Adobe Dreamweaver CC2021详细安装教程
最初为美国MACROMEDIA公司开发 ,2005年被Adobe公司收购.dw是集网页制作和管理网站于一身的所见即所得网页代码编辑器.利用对 HTML.CSS.JavaScript等内容的支持,设计师 ...
- Nvidia30系显卡+Windows系统的CUDA 11安装100%成功教程
一.环境 显卡:Nvidia RTX 3090.3060.3080.3050.3070 系统:Windows11 Windows10 CUDA:CUDA(ComputeUnified Device A ...
- Windows10家庭版安装MySQL(无法启动服务问题和卸载教程)
环境: windows10家庭版,mysql-installer-community-8.0.25.0.msi 官网就可以下载 MySQL 下载安装教程可以看 windows10上安装mysql(详细 ...
- detectron2安装在win10并运行测试--呕心沥血教程
记录不易,继续加油 目录 一. 环境要求 1.Pycharm 2.anaconda自带的python3.8.8 3.cuda11.2+torch 4.vs2019 5.conda4.11.0 二.安装 ...
- MySQL-mysql 8.0.11安装教程
网上的教程有很多,基本上大同小异.但是安装软件有时就可能因为一个细节安装失败.我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的. 安装环境:win7 1.下载zip安装包: MySQL ...
- win10下安装tensorflow-gpu==1.11.0的详细教程
20200313 更新 当前配置,用了3个月了,运行良好 系统:win10 显卡:Nvidia 1080Ti python:3.6.8 CUDA:9.0.176 cuDNN:7.0.5 tensorf ...
最新文章
- flashpaper打印机没有被正确安装_没有正确保存与安装,可导致80%的轴承提早失效...
- 软件测试--测试Demo
- git如何merge github forked repository里的代码更新?
- 牛客网--牛牛的闹钟
- MFC多线程失败:Create Instance failed
- xcode 4 制作静态库(转)
- HDU2021 发工资咯:)【入门】
- android仿美丽说登录拖拽Layout
- 国外除了Google还有什么搜索引擎?
- Visual Studio 2022安装配置
- java孢子进化_孢子的进化起源
- 用MATLAB仿真AM调制
- Pytorch(一) —— 相关库和函数
- 新手理解光猫和路由器
- Git与Github入门资料
- 浅谈FineReport常用函数及使用时报错的解决办法
- 有哪些好用的抠图网站?这种方法超好用
- 《哪吒》票房破25亿,我用AI分析了它20W+评论数据
- 【Centos】sshd 无法启动(解决问题篇,附问题排查思路和解决方法)
- java json字符串转JSONObject对象、转JAVA对象、转List<T>对象
热门文章
- 从宇宙长城谭宇宙的历史
- 个人基本信息分类与代码 第1部分:人的性别代码 GB/T 2261.1-2003
- 公交线路换乘代码PHP,微信开发之公交换乘功能代码详解
- 初中计算机ppt速学,图片基本处理方法ppt课件初中信息技术苏科课标版七年级全一册课件_3.ppt...
- html网页获取点击按钮获取当前时间
- jzoj3545. 【清华集训2014】杰杰的女性朋友
- 杰杰带你解读【机智云】环形缓冲区源码
- YOLOv5眨眼检测
- HTPC知识普及第四讲:解码需软硬兼施2
- CentOS搭建Elasticsearch6.8.0集群