PVT环境搭建(新) Detection

1.创建Conda环境

首先激活conda

>>activate
>> conda.bat activate

首先创建conda环境,名为PVT的环境,并且使用Python的3.8.12版本

conda create -n PVT python==3.8.12

安装完成后进行激活环境

# 激活PVT环境
>>conda activate PVT

2.安装CUDA和cudnn安装

1.GPU版本

安装之前需要知道cuda的版本,使用命令,输出相关的cuda版本,根据版本进行安装

>>Nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 456.38       Driver Version: 456.38       CUDA Version: 11.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro P1000       WDDM  | 00000000:01:00.0  On |                  N/A |
| 34%   40C    P8    N/A /  N/A |    466MiB /  4096MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

在安装之前看看是否有cuda,使用如下命令查看

>> nvcc -v

并且查看GPU电脑的版本https://developer.nvidia.com/cuda-toolkit-archive,下载不高于GPU电脑的版本,例如我的电脑支持最高的版本是11.1,下载的不高于11.1的CUDA都可以,然后下载cudnnhttps://developer.nvidia.com/rdp/cudnn-archive最新版本的小一个版本,cudnn需要登录才能下载。

>>wmic path win32_VideoController get name, driverVersion
DriverVersion   Name
27.21.14.5638   NVIDIA Quadro P1000
27.20.100.9664  Intel(R) UHD Graphics 630

 上面说明两种显卡驱动已经安装:

NVIDIA Quadro P1000和Intel UHD Graphics 630是两个不同的显卡,具有不同的作用和用途:

    1. NVIDIA Quadro P1000:
      NVIDIA Quadro P1000是一款专业级显卡,主要用于专业工作站和专业应用领域。它具备以下特点和作用:

      • 专业应用支持:Quadro P1000针对专业软件和工作负载进行了优化,如CAD(计算机辅助设计)、建模、渲染、动画制作等。
      • 高性能计算:Quadro P1000具备较高的计算能力和并行处理能力,适用于需要大量计算资源的专业应用。
      • 多显示器支持:Quadro P1000支持多个显示器的同时使用,可用于多屏工作环境和高分辨率显示需求。
      • GPU加速功能:Quadro P1000支持NVIDIA的GPU加速技术,如CUDA和专业应用程序的加速库,以提升计算和渲染性能。
    2. Intel UHD Graphics 630:
      Intel UHD Graphics 630是一款集成显卡,通常与Intel处理器搭配使用。它具备以下特点和作用:

      • 基本图形处理:UHD Graphics 630提供了基本的图形处理功能,可满足一般办公、网页浏览和多媒体播放等日常计算需求。
      • 集成显卡:UHD Graphics 630是集成在Intel处理器中的显卡,无需额外的独立显卡,可以节省成本和功耗。
      • 轻量级游戏和娱乐:UHD Graphics 630对于轻量级游戏和娱乐应用具有一定的支持,但在高要求的游戏和图形应用方面性能较低。

下载CUDA完成后进行安装,首先安装CUDA,再将cudnn文件移动到安装目录

CUDA安装

点击同意并继续

 选择自定义

 只勾选CUDA

 默认安装位置

 

当然,如果安装到其盘符,例如D盘,那么目录结构必须相同,如下:

  但是现在还没有完成,需要将cudnn解压,然后把里面的bin、include、lib粘贴到路径D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2下即可,然后再使用cmd命令查看 重新打开cmd命令输入nvcc - v进行验证安装

>> nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:32:27_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.2, V10.2.89

 3. 安装Pytorch

1.GPU版本

 安装Pytorch分为三个,找对应版本进行安装https://pytorch.org/get-started/previous-versions/

首先不是直接安装,直接用pip安装会崩塌,所以先下载轮子然后再安装

# 下载轮子
pip download torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

 然后把下载的whl文件的名字按照下载的顺序写在requirements.txt文件中,如下:

torch-1.8.1+cu102-cp38-cp38-win_amd64.whl
torchvision-0.9.1+cu102-cp38-cp38-win_amd64.whl
torchaudio-0.8.1-cp38-none-win_amd64.whl
typing_extensions-4.7.1-py3-none-any.whl
numpy-1.24.4-cp38-cp38-win_amd64.whl
Pillow-10.0.1-cp38-cp38-win_amd64.whl

然后使用命令,注意都是再同一文件夹中,用pip命令进行安装下载的轮子

>> pip install -r requirements.txt

2.CPU版本

Pytorch中的torch我们单独安装

# 安装torch
pip install torch==1.8.0 -i https://mirrors.aliyun.com/pypi/simple/
# 安装torchvision
pip install torchvision==0.9.0 -i https://mirrors.aliyun.com/pypi/simple/

4.Apex安装

Apex是一个用于混合精度训练和优化的开源工具库,旨在加速深度学习模型的训练过程。它为PyTorch框架提供了扩展,使用户能够以更低的内存占用和更快的训练速度来训练大型神经网络。

Apex提供了几个主要功能:

  1. 混合精度训练(Mixed Precision Training):Apex通过使用半精度浮点数(float16)来代替单精度浮点数(float32),在保持模型精度的同时减少了内存占用和计算开销。这使得在具备合适硬件支持的情况下,能够以更快的速度进行模型训练。

  2. 分布式训练(Distributed Training):Apex提供了分布式训练的支持,允许用户在多个GPU或多台机器上进行模型的并行训练。这有助于加快训练速度并提高可伸缩性。

  3. 优化工具:Apex还提供了一些优化工具,如混合精度优化器、动态精度缩放(Dynamic Loss Scaling)和减少内存占用的优化策略。这些工具可以帮助用户更好地利用硬件资源,提高训练效率和性能。

Apex是由NVIDIA开发和维护的,旨在与其GPU加速计算平台相结合使用。它广泛应用于深度学习领域,特别是在大规模模型训练和高性能计算方面。

验证Apex是否安装

# 安装apex
conda install -c conda-forge nvidia-apex

然后验证是否安装apex

# pip 验证方法
pip show apex
# conda验证方法
conda list apex
Name: apex
Version: 0.1
Summary: PyTorch Extensions written by NVIDIA
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: UNKNOWN
Location: d:\anaconda3\envs\pvt\lib\site-packages
Requires:
Required-by:

5.mmcv安装

找到对应的版本http://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html,其中连接中的cu102和torch1.8.1都是可以修改成自己实际的版本,如果没有就临近的版本也可以。找到版本后进行下载到本地,使用下面的命令进行下载例如我的电脑是Python3.8并且是torch1.8.1的版本,下面是下载whl轮子后使用命令进行安装:

>>pip install mmcv_full-1.7.1-cp38-cp38-win_amd64.whl
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing f:\zyl-user\pytorch\mmcv_full-1.7.1-cp38-cp38-win_amd64.whl
Collecting addict (from mmcv-full==1.7.1)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/6a/00/b08f23b7d7e1e14ce01419a467b583edbb93c6cdb8654e54a9cc579cd61f/addict-2.4.0-py3-none-any.whl (3.8 kB)
Requirement already satisfied: numpy in d:\anaconda3\envs\pvt\lib\site-packages (from mmcv-full==1.7.1) (1.24.3)
Requirement already satisfied: packaging in d:\anaconda3\envs\pvt\lib\site-packages (from mmcv-full==1.7.1) (23.1)
Requirement already satisfied: Pillow in d:\anaconda3\envs\pvt\lib\site-packages (from mmcv-full==1.7.1) (10.0.1)
Requirement already satisfied: pyyaml in d:\anaconda3\envs\pvt\lib\site-packages (from mmcv-full==1.7.1) (6.0.1)
Collecting yapf (from mmcv-full==1.7.1)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/23/75/c374517c09e31bf22d3b3f156d73e0f38d08e29b2afdd607cef5f1e10aa9/yapf-0.40.1-py3-none-any.whl (250 kB)
Collecting regex (from mmcv-full==1.7.1)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/26/7e/69ea9212922e7b5150e81ba9fdd1981267ed9924b1c40fd38febb001585f/regex-2023.8.8-cp38-cp38-win_amd64.whl (268 kB)
Collecting importlib-metadata>=6.6.0 (from yapf->mmcv-full==1.7.1)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/cc/37/db7ba97e676af155f5fcb1a35466f446eadc9104e25b83366e8088c9c926/importlib_metadata-6.8.0-py3-none-any.whl (22 kB)
Collecting platformdirs>=3.5.1 (from yapf->mmcv-full==1.7.1)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/14/51/fe5a0d6ea589f0d4a1b97824fb518962ad48b27cd346dcdfa2405187997a/platformdirs-3.10.0-py3-none-any.whl (17 kB)
Requirement already satisfied: tomli>=2.0.1 in d:\anaconda3\envs\pvt\lib\site-packages (from yapf->mmcv-full==1.7.1) (2.0.1)
Collecting zipp>=0.5 (from importlib-metadata>=6.6.0->yapf->mmcv-full==1.7.1)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/8c/08/d3006317aefe25ea79d3b76c9650afabaf6d63d1c8443b236e7405447503/zipp-3.16.2-py3-none-any.whl (7.2 kB)
Installing collected packages: addict, zipp, regex, platformdirs, importlib-metadata, yapf, mmcv-full
Successfully installed addict-2.4.0 importlib-metadata-6.8.0 mmcv-full-1.7.1 platformdirs-3.10.0 regex-2023.8.8 yapf-0.40.1 zipp-3.16.2

6.错误解决

在运行代码的时候出现下面的问题,可能是由于在安装pytorch丢失包,所以卸载pytorch再重新安装即可。

OSError: [WinError 127] 找不到指定的程序。 Error loading "D:\anaconda3\envs\PVT\lib\site-packages\torch\lib\c10_cuda.dll" or one of its dependencies.

 7.mmdet安装

 安装mmdet暴力安装当然还是pip命令

pip install mmdet

 8.mmengine安装

安装依旧是使用pip

pip install mmengine

9.报错

assert (mmcv_version >= digit_version(mmcv_minimum_version)
AssertionError: MMCV==1.2.4 is used but incompatible. Please install mmcv>=2.0.0rc4, <2.1.0.

那么我们直接安装mmcv==2.0.0版本试试

pip install mmcv==2.0.0

结果还是报错,然后我们就直接先卸载,在官网上https://github.com/open-mmlab/mmdetection/上进行下载源代码,使用下面命令安装,进入mmdetection文件

>>cd mmdetection
>>pip install -r requirements.txt
>>pip install -v -e .

安装成功后还会报错,这就很郁闷,我又查找了相关的资料,发现mmdet版本太新需要卸载

from mmcv import Config, DictAction
ImportError: cannot import name 'Config' from 'mmcv' (unknown location)

 卸载mmdet,在官网上下载mmdetection==2.20.0,支持的mmcv版本在mmcv_minimum_version = '1.3.17'和mmcv_maximum_version = '1.5.0',下载对应的版本重新安装

 卸载原有的,安装现在的命令:

pip install -v -e .

然后安装mmcv==1.4.5版本

pip install mmcv==1.4.5

再次运行出现问题

 return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'mmcv._ext'

 其实到这里就是mmdet和mmcv不匹配的问题

完美结局

那么我们把mmcv和mmdet全部卸载,重新安装,首先安装mmcv_full-1.4.5-cp38-cp38-win_amd64.whl的mmcv版本:http://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html

pip install mmcv_full-1.4.5-cp38-cp38-win_amd64.whl

然后下载mmdetection在Github中选择版本为2.20.0https://github.com/open-mmlab/mmdetection/tree/v2.20.0

# 安装git
conda install git
# 进入文件夹mmdetection
cd mmdetection-2.20.0
# 安装相关请求包
pip install -r requirements/build.txt
#  mmdet安装包
pip install -v -e .

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-09-16 19:39  Crown-V  阅读(634)  评论(0)    收藏  举报