从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境

文章目录

  • 一、虚拟机CUDA踩坑
  • 二、detectron2安装
    • 1.创建虚拟环境
    • 2.安装pytorch
    • 3.安装库numpy,matplotlib
    • 4.安装库opencv-python
    • 5.安装pillow,cython库
    • 6.安装pycocotools
    • 7.fvcore
    • 8.detectron2安装
  • 三、demo测试


一、虚拟机CUDA踩坑

经过多次尝试后发现,VMware虚拟机的显卡是虚拟显卡,不支持GPU加速,我们采用CPU的方式进行detectron2的学习安装。

选择安装后出现的错误:
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第1张图片

二、detectron2安装

1.创建虚拟环境

查看官网的安装说明:
https://detectron2.readthedocs.io/en/latest/tutorials/install.html

Linux or macOS with Python ≥ 3.6
PyTorch ≥ 1.7 and torchvision that matches the PyTorch installation. Install them together at pytorch.org to make sure of this
OpenCV is optional but needed by demo and visualization

这里我们创建一个python3.6的虚拟环境

在终端输入命令,创建虚拟环境

conda create -n detectron2 python=3.6

这一阶段会耗费较长时间
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第2张图片
如果安装时间过长,一直停留在solving environment,或者出现下列错误时

CondaValueError: Malformed version string '~': invalid character(s).

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第3张图片
可以选择ctrl+c进行终端,并将conda 升级

conda upgrade -n base -c defaults --override-channels conda

可以参考
https://stackoverflow.com/questions/56084960/condavalueerror-malformed-version-string-invalid-characters
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第4张图片

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第5张图片
安装完成后,将镜像源移除,可以正常安装:
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第6张图片

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第7张图片

2.安装pytorch

pytorch官网:
https://pytorch.org/
这里我选择安装pytorch1.7
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第8张图片

首先进入虚拟环境:

conda activate detectron2

输入命令:

conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cpuonly -c pytorch

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第9张图片

3.安装库numpy,matplotlib

安装库numpy,matplotlib

conda install numpy matplotlib

4.安装库opencv-python

安装opencv-python,在 Python 3.6 环境下使用下面的命令并就可以了:

conda install opencv-python

但是在 Python 3.7 环境下上面的命令是无效的。可以使用 pypi 进行安装:

pip install opencv-python

如果你的网络不好也很容易失败,我们可以临时使用清华的 pypi 镜像来安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

5.安装pillow,cython库

pip install pillow cython

6.安装pycocotools

pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'

如果下载过慢,也可以直接下载到本地进行安装
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第10张图片
首先进入虚拟环境

conda activate detectron2

cd到下载目录,注意下载的zip需要解压:

cd Downloads/cocoapi-master/PythonAPI

输入指令进行编译

pip install -e.

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第11张图片
安装成功

7.fvcore

fvcore 是 FAIR 开源的 一个轻量级的核心库,它提供了在各种计算机视觉框架(如 Detectron2)中共享的最常见和最基本的功能。该库需要 >=Python 3.6 的 Python 环境。
conda安装

conda install -c fvcore fvcore

pip安装

pip install fvcore

经过实践,使用pip安装更方便一点,安装完成后显示:
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第12张图片

8.detectron2安装

detectron2安装地址
https://github.com/facebookresearch/detectron2
可以直接执行下列命令:

pip install 'git+https://github.com/facebookresearch/detectron2.git'

也可以直接下载后进行安装:
首先进入虚拟环境,再cd至下载的文件夹

cd /home/detectron2/Downloads/detectron2-master
pip install -e.

成功安装:
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第13张图片
使用命令:

conda list

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第14张图片
detectron2已经安装

三、demo测试

在detectron2文件夹中新建images文件夹,放入网上找到的图片:

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第15张图片
进入guthub的detectron2官网,打开MODEL_ZOO.md,下载预训练权重:

从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第16张图片
其中,name是该网络的一些基本信息,model是需要下载的预训练权重,metrics是训练的一些参数。这里下载R101-FPN的model。
在detectron文件夹下自行新建预训练权重的文件夹,我设置的是
pre_train_model/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl

打开终端,进入虚拟环境,输入命令:

python demo/demo.py --config-file configs/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x.yaml --input images/1.jpg --output results --opts MODEL.WEIGHTS pre_train_model/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl MODEL.DEVICE cpu

其中

--config-file configs/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x.yaml

这个是配置信息,detectron2那个文件夹里面已经有了

--input images/1.jpg

是要测试的路径,估计实际情况设置

--output results

是输出的路径

--opts MODEL.WEIGHTS pre_train_model/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl

是训练好的模型,存放model zoom下载的预训练权重

MODEL.DEVICE cpu

是cpu运行
运行后显示如下:
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第17张图片
其中警告:

UserWarning: This overload of nonzero is deprecated:
	nonzero()
Consider using one of the following signatures instead:
	nonzero(*, bool as_tuple) (Triggered internally at  /opt/conda/conda-bld/pytorch_1603729004493/work/torch/csrc/utils/python_arg_parser.cpp:882.)
  filter_inds = filter_mask.nonzero()

这是由于detectron2与torch的一些接版本口冲突导致的,后续我会在后面的博客中进行解决
完成后,可以看到文件夹中出现了运行的结果
从虚拟机到深度学习三:Ubuntu20.04安装pytorch以及detectron2环境_第18张图片
可以看出,效果还是相当不错的。

你可能感兴趣的:(python)