当前位置: 首页 > news >正文

Detectron2 安装指南

文章目录

  • 前言
  • Detectron2
    • 官方文档
    • 官方指南
  • 安装 Detectron2
    • 虚拟环境
    • 安装 PyTorch
    • 安装 Detectron2
  • 总结


前言

Detectron2 是 Meta AI 的一个机器视觉相关的库,建立在 Detectron 和 maskrcnn-benchmark 基础之上,可以进行目标检测、语义分割、全景分割,以及人体体姿骨干的识别。许多优秀的项目都基于这个库实现,如果想要复现或者在此基础上修改,就需要先成功安装 Detectron2。本文是作者成功在自己服务器上安装的一次示范,有需要的朋友参考这个示范在自己的服务器上进行尝试。


Detectron2

官方文档

项目官方仓库:
Github

项目官方指南:
安装手册

官方指南

python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
# (add --user if you don't have permission)# Or, to install it from a local clone:
git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2# On macOS, you may need to prepend the above commands with a few environment variables:
CC=clang CXX=clang++ ARCHFLAGS="-arch x86_64" python -m pip install ...

在本地编译前,先运行指令

rm -rf build/ **/*.so

安装 Detectron2

虚拟环境

conda create --name my_detectron2 python=3.10 -y

这里需要注意,python 最好大于 3.9 否则可能会出现问题

安装 PyTorch

conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch

这里安装完后,建议使用 nvcc -V 查看当前虚拟环境的的 CUDA version 是否与安装的 Pytorch 版本对应。如果不一致后续会报错。

如果不对应,运行下列指令查找可安装的 nvcc 版本

conda search -c nvidia cuda-nvcc

找到对应 cudatoolkitnvcc 版本,我这里是 11.3,所以运行:

conda install -c nvidia cuda-nvcc==11.3.58

安装 Detectron2

如果你的环境一切符合官方的需求,直接运行指令即可:

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

我在安装的过程中主要遇到了 gccg++ 的版本不匹配问题(detectron2 需要的 gccg++ 要在 8 之前,我这是 9),所以需要在虚拟环境中对 gccg++ 进行降级处理:

conda install -c conda-forge gcc=8 gxx=8export CC=gcc-8
export CXX=g++-8

在再次编译前,记得运行一下

rm -rf build/ **/*.so

同时,因为我的服务器连接 GitHub 不是很稳定,所以我先将项目 clone 到本地后再编译:

git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2

然后就成功了


总结

http://www.lryc.cn/news/424541.html

相关文章:

  • 亚马逊 Linux mysql5.7 安装纪录
  • ZLMediaKit编译webrtc
  • KEEPALIVED高可用集群最详解
  • 【大模型】llama-factory基础学习
  • 【Java】如何使用jdbc连接并操作MySQL,一文读懂不迷路,小白也能轻松学会
  • 新手学习VR全景需要知道的几个问题
  • 上海知名泌尿外科专家常态化坐诊黄山新晨医院,让前列腺癌看得更早、更准!
  • Elasticsearch: 非结构化的数据搜索
  • 44 个 React 前端面试问题
  • LLMs之Framework:Hugging Face Accelerate后端框架之FSDP和DeepSpeed的对比与分析
  • HarmonyOS应用开发学习-ArkTs声明式UI描述
  • Redis20-通信协议
  • Unity Shader变体优化与故障排除技巧
  • 数据结构——时间复杂度和空间复杂度
  • (echarts) 饼图设置滚动图例
  • Java spring SSM框架--mybatis
  • Python知识点:如何使用Arduino与Python进行物联网项目
  • 论文复现_从 CONAN 中收集 TPL 数据集
  • 使用Docker将Java项目打包并部署到CentOS服务器的详细教程。
  • 嘉立创eda布线宽度
  • 硬件面试经典 100 题(31~50 题)
  • 5G:下一代无线通信技术的全面解析
  • 关于refresh_token
  • Linux网络:基于OS的网络架构
  • UEC++学习(十六)变量添加中文注释、ui设置中文文本
  • Redis延迟双删
  • WO Mic 手机变身免费麦克风
  • MQ死信对列
  • springboot乡镇小区管理系统-计算机毕业设计源码73685
  • 基于vue框架的4S店汽车维修保养管理系统28a7y(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。