目录
一、 环境要求
1、Pycharm
2、anaconda自带的python3.8.8
3、cuda11.2+torch
4、vs2019
5、conda4.11.0
二、安装步骤
三、测试案例
detectron2安装在win10并运行测试
创建虚拟环境:
打开开始——Anaconda Prompt (anaconda)——右键,更多:以管理员身份运行;输入:conda create -n (自己取个环境名字) python=3.8.8(注意python版本号与下载的版本号一致),我这里取的名字是detectron2,即输入:conda create -n detectron2 python=3.8.8
激活虚拟环境:conda activate detectron2
检测是否激活成功:输入python
,不显示warning即可
安装必备的库
pip/conda install numpy matplotlib
pip install opencv-python
pip install pillow cython
查看当前cuda版本:输入nvcc -V
如上图,cuda为10.2版本。
查看cuda和torch是否适配,输入:
python
import torch
print(torch.cuda.is_available())
显示为true就对了。如果是false,下面提供下载cuda和torch的方法:
cuda10.2,在cuda官网下载旧版本CUDA下载链接:
记住安装位置,一会cudnn安装要用!
打开路径 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin ,查看nvcc.exe
打开路径
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64,
查看有没有cuti64_101.dll
有这个cupti64_101.dll就说明CUPT1已成功:
这样就下载到本地了(local)
CUDA安装步骤
接下来安装配套的cudnn7.6.5;cudnn下载与安装链接
cudnn的解压位置(默认的):
C:\Users\lenovo\Downloads\cudnn-windows-x86_64-8.3.1.22_cuda10.2-archive
验证是否安装成功
验证安装
通过NVIDIA提供的 deviceQuery.exe 和 bandwidthTest.exe 来查看GPU的状态,
两者均在安装目录的 extras\demo_suite文件夹中
首先运行 deviceQuery.exe ,可以看到如下结果:
运行 bandwidthTest.exe 看到如下结果:
小Tips:
如果电脑之前下载了torch但是版本和cuda不搭,可以卸载,在anaconda prompt或cmd中输入:
conda uninstall pytorch
conda uninstall libtorch
检测当前路径下的torch版本,输入:
conda search pytorch
如上图所示,没有GPU版本的Pytorch,所以需要下载一个,方法:
百度Pytorch官网
复制蓝色的那一行到cmd上,如下图就下载了合适的torch
记得再次验证cuda与torch是否显示为true!(方法在上面)
补充一些小方法:
1、在win10cmd中输入:conda --version
显示:
2、查看conda已有的环境,在conda的cmd中输入:conda env list
会显示已有环境:
3、输入:conda info --envs
,查看conda环境变量的路径,如下图,base后面就是路径
4、卸载不想要的虚拟环境
conda env remove --name detectron2(最后这个是要删除的环境名字)
5、查看torch版本,逐步输入:
python
import torch
torch.__version__
6、还有一种方法查CUDA版本(CUDA版本显示在右上角:11.4)
输入nvidia-smi
选择2019的community版本就好了
我下载了python开发和C++桌面开发;一共8.45G,默认路径安装。
安装完后,打开,测试是否安装成功:
新建项目——取名——在名字上鼠标右击——添加——新建项——C++空项目(一般是第一个)然后开始敲代码:
#include
using namespace std;
int main()
{
cout << "hello world" << endl;
system("pause");
return 0;
}
结果:
解决方法:链接
点击上方标题栏的调试——最下边项目的属性——复制弹出对话框的输出目录。。。。
1、在cmd下载git
安装完成后重启conda面板,以管理员身份运行。
2、下载cocoapi
输入:git clone https://github.com/pdollar/coco.git
(网址是复制的HTTPS:)
链接下载zip包
解压下载的zip包
并切换到cocoapi\PythonAPI,即在当前cmd面板中输入:
cd cocoapi\PythonAPI
切换完以后分别输入:
python setup.py build_ext --inplace
python setup.py build_ext install
第二步的时候出现了问题:
解决方法:
即输入:(注意环境切换到API)
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
结果如下:(cocoapi就安装成功了)
之后继续进行另外两个库的安装:在win10的cmd中进行
1)、python setup.py build_ext --inplace (注意输入的环境)
2)、安装fvcore,先在官网下载fvcore包并解压,然后输入
cd setup.py
pip install fvcore
{打开cmd输入 import fvcore
没报错即成功}
接着下载ninja:
conda install ninja
***四、接下来是重头戏,***安装Detectron2
先进行环境检验:打开cmd输入
import pycocotools
from pycocotools.coco import COCO
没报错即成功
github安装包下载地址
下载完后注意解压到C盘!
接下来对环境做一些编译:
1、anaconda的安装位置:D:\Anaconda\envs\torch\Lib\site-packages\torch\utils下的如图,pycharm打开:
对第312行进行修改
修改内容如下:修改为第二行的样子
match = re.search(r’(\d+).(\d+).(\d+)’, compiler_info.decode(’ gbk’).strip()
2、D:\Anaconda\envs\torch\Lib\site-packages\torch\include\torch\csrc\jit\runtime下的:
用VS2019打开:
修改第165行:static constexpr size_t ARG_SPEC_DEPTH_LIMIT = 128;为static const size_t ARG_SPEC_DEPTH_LIMIT = 128;
3、D:\software\Anaconda3\envs\torch\Lib\site-packages\torch\include\torch\csrc\jit\ir\ir.h,注释掉1472行
【这个我后来好像又取消注释了,忘记了,报错的话可以再改这一步吧】
VS设置方法链接
然后编译安装:
activate detectron2
cd D:\detectron2-0.6\detectron2-0.6\detectron2
(detectron2解压路径)
然后输入:
python setup.py build develop
输入pip list
如上图,有detectron2了,这样就是安装成功了!
五、在pycharm中打开有detectron2的虚拟环境 教程链接
1、查看虚拟环境位置
2、
六、测试
在anaconda promt中测试,注意改成自己的图片位置!
测试图片直接存放与demo文件下
1、目标检测
python demo.py --config-file ../configs/COCO-Detection/retinanet_R_50_FPN_1x.yaml --input input.jpg [--otheroptions] --opts MODEL.WEIGHTS detectron2://COCO-Detection/retinanet_R_50_FPN_1x/190397773/model_final_bfca0b.pkl
2、实例分割
python demo.py --config-file ../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --input input3.jpg --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl
python demo.py --config-file ../configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml --input input.jpg input2.jpg --opts MODEL.WEIGHTS detectron2://COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x/137849621/model_final_a6e10b.pkl
4、全局分割
python demo.py --config-file ../configs/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x.yaml --input input1.jpg 2.jpg 13.png --opts MODEL.WEIGHTS detectron2://COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl
全剧终!
对了,我下载的是最新版本的detectron2-0.6,之前我也照着网上一些教程去修改detectron2内部的一些代码,但是运行的时候总是出错,后来重新下载不再对detectron2文件进行修改,只对anaconda修改,运行出了上述效果,无报错!