Detectron2安装之又识CUDA

零、主要内容

在Linux环境中,安装Detectron2
1. 基础环境(Python、Pytorch、OpenCV)
2. Install Pre-Built Detectron2 (Linux only)

一服务器可配置多版本CUDA

一、Detectron2

前言

安装一个开源平台,我们心里要有一个目标,那就是当我配置模型config,输入图片input,输入参数checkpoints,并运行demo.py,它不报错。在这个基础上,就可以继续自己对于模型的探索。
简单介绍一下,Detectron2,Facebook AI Research(FAIR)开源的基于Pytorch的目标检测算法实现,哦,那公司现在叫Meta,改名了。

配置基本环境

Detectron2选择v0.6版本

  • Linux with Python ≥ 3.6
  • PyTorch ≥ 1.8 and torchvision that matches the PyTorch installation.
  • OpenCV is needed by demo and visualization

无奈,使用着无法链接外网的服务器,手动下载pytorch也是一个不错的选择。conda链接
下载文件路径下,运行:

conda install --offline pytorch-1.8.1-py3.7_cuda10.1_cudnn7.6.3_0.tar.bz2
conda install --offline torchvision-0.9.1-py37_cu101.tar.bz2
pip install opencv-python

检测cuda是否正确安装,这一步使用pip方法直接忽略。

python -c 'import torch; from torch.utils.cpp_extension import CUDA_HOME; print(torch.cuda.is_available(), CUDA_HOME)'

运行完,输出True /usr

Detectron2 自动安装,仅Linux系统

官方给了,手动下载安装 与 *直接pip(仅Linux)*两种安装方法。
如果是在Linux系统上安装,强烈推荐使用使用pip,以避免不必要的服务器底层编译问题。

  • 手动下载安装,我的理解是使用本地的C++编译器进行编译,如果报错不好解决。
  • 直接pip,需要注意各个库和安装包版本匹配的问题。
    在这里插入图片描述
    注意:对应好版本 这里安装的是detectron2-v0.6,本地环境使用
  • cudatoolkit=10.1,
  • torch=1.8.1,
  • torchvision=0.9.1,
  • python=3.7

运行命令:

python -m pip install detectron2 -f \
  https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/torch1.8/index.html

手动安装时候,服务器底层编译器报错,这个超出目前认知范围,直接更换安装方法。

  1. command ‘/usr/bin/nvcc’ failed with exit status 1
ERROR: No supported gcc/g++ host compiler found.
       Use 'nvcc -ccbin <compiler>' to specify a host compiler.
error: command '/usr/bin/nvcc' failed with exit status 1

上述报错,不知nvcc -ccbin命令含义,大佬请指教!

测试

输入以下命令,执行模型推理的程序,输入一张图片、模型配置、模型参数,输出demo。

 python demo/demo.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml \
 --input demo/people.jpg --output ./ \
 --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl
  • –config-file 配置文件
  • –input 输入图片
  • –output demo输出路径
  • –opts MODEL.WEIGHTS 模型参数文件
    在这里插入图片描述
    OK,这个类似于detectron2的Hello world!

二、CUDA

  • CUDA是显卡厂商NVIDIA推出的运算平台。
  • CUDA驱动 NVIDIA的显卡驱动程序
  • cudatoolkit:CUDA工具包的主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。
  • NVCC就是CUDA的编译器,可以从CUDA Toolkit的/bin目录中获取,类似于gcc就是c语言的编译器。
  • cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络中的基础操作而设计基于GPU的加速库

以上是CUDA、显卡驱动、cudatoolkit、nvcc、cuDNN含义。
以下废话,
一个服务器上可能有多个版本的cuda
当运行nvidia-sminvcc -v显示的cuda版本可能不同
CUDA Toolkit和 显卡驱动 的版本对应
CUDA / CUDA Toolkit和cuDNN的版本对应
其他环境配置中与库的对应,就看说明文档啦。

总之,用时半天,为啥呢,相比较而言,本地编译环境的报错还是无法解决,易走弯路,本文仅当记录,各位客官,有不足请指出,有好的建议也望留言。

参考

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值