ubuntu mmdetection配置

news/2025/2/12 7:56:19/

mmdetection配置最重要的是版本匹配,特别是cuda,torch与mmcv-full

本项目以mmdetection v2.28.2为例介绍

1.查看显卡算力

因为gpu的算力需要与Pytorch依赖的CUDA算力匹配,低版本GPU可在相对高的CUDA版本下运行,相反则不行

算力不匹配运行torch训练会报如下错误:

CUDA error: no kernel image is available for execution on the device

torch和cuda适配信息参考链接

我们用的显卡是A40和4080,其中4080算力8.9,A40算力8.6

2. cuda安装


根据显卡算力,cuda选择用11.6版本

下载链接

添加权限

chmod 700 cuda_11.6.0_510.39.01_linux.run

安装

sh chmod 700 cuda_11.6.0_510.39.01_linux.run

注意要将driver取消,即按空格显示不执行即可

3.安装对应版本的torch1.13.0

参考链接

pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116

ps:可以通过如下命令查看torch与cuda算力是否匹配

>>> import torch
torch.cuda.get_arch_list()
>>> torch.cuda.get_arch_list()
['sm_37', 'sm_50', 'sm_60', 'sm_70', 'sm_75', 'sm_80', 'sm_86']
>>> torch.__version__
'1.13.0+cu116'

torch1.13.0+cu116可支持sm_86,在A40和4080上都可以运行

4.下载安装mmdetection

参考链接

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

5. 下载安装mmcv-full

参考链接

pip install mmcv-full==1.7.1 -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.13.0/index.html

ps:

mmcv和mmcv-full只需要安装一个即可,两个都安装会报各种module找不到错误
mmcv-full最高只有1.7.1版本,且不支持torch1.13.1,torch2.0对应mmcv,没有mmcv-full了
对于本篇博客配置的mmdetection来说,安装mmcv会报找不到runner错误

参考链接:
yolov5训练加速--一个可能忽视的细节(mmdetection也一样),为什么显卡使用率老是为0?_kv1830的博客-CSDN博客

解决CUDA error: no kernel image is available for execution on the device-CSDN博客

pytorch 报错 RuntimeError: CUDA error: no kernel image is available for execution on the device_可豌豆的博客-CSDN博客


http://www.ppmy.cn/news/1155937.html

相关文章

xtrabackup全备 增备

版本针对mysql8.0版本 官方下载地址 https://www.percona.com/downloads 自行选择下载方式 yum安装方式 1、下载上传服务器 安装软件 [rootmaster mysql]# ll percona-xtrabackup-80-8.0.33-28.1.el7.x86_64.rpm -rw-r--r--. 1 root root 44541856 Oct 10 13:25 percona-x…

Shell命令笔记2

大家好,分享下最近工作中用得比较多的shell命令,希望对大家有帮助。 获取数组长度: ${#array_name[*]}获取脚本相对路径 script_path$(dirname "$0")获取脚本的名字 script_name$(basename "$0")获取脚本的绝对路径 …

【LeetCode】双指针 滑动窗口

文章目录 一、双指针简介双指针模式使用双指针来解决的问题题目移动0盛最多水的容器接雨水 二、滑动窗口简介题目最小子串找到字符串中所有字母异位词 一、双指针简介 双指针是指在算法中同时使用两个指针来追踪数组或序列中的元素位置。这两个指针可以朝着相同方向移动&#…

【数据结构】算法、时间复杂度和空间复杂度详解 ------ 算法篇

文章目录 📋前言一. ⛳️算法的定义二. ⛳️算法的特性2.1 输入输出2.2 输入输出2.3 有穷性2.4 确定性2.5 可行性 三. ⛳️算法设计要求3.1 正确性3.2 可读性3.2 健壮性3.3 时间效率高和存储量低 四. ⛳️算法效率的度量方法4.1 事后统计方法4.2 事前分析估算方法 五…

论文学习——FALL-E:GAUDIO FOLEY SYNTHESIS SYSTEM

文章目录 引言正文AbstractIntroduction介绍问题 FALL-E2.1 Architexture结构2.2 Training and Inference Details 3 Evaluation And Analysis测试和分析Conlusion 总结 引言 这篇文章是DCASE中少有的,没有使用DIffusion的方法,可以学习一下。这篇文章的…

【力扣520】检测大写字母

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析 一、题目描述 题目链接:检测大写字母 我们定义,在以下情况时&#xff…

【LLM微调范式1】Prefix-Tuning: Optimizing Continuous Prompts for Generation

论文标题:Prefix-Tuning: Optimizing Continuous Prompts for Generation 论文作者:Xiang Lisa Li, Percy Liang 论文原文:https://arxiv.org/abs/2101.00190 论文出处:ACL 2021 论文被引:1588(2023/10/14&…

Go选项模式

Functional Options Pattern,选项模式 1、什么是选项模式 选项模式是一种在 Go 语言中很常用的设计模式,特别是当你有一个结构体或函数,并且它有多个可选的配置选项时。该模式允许用户提供一系列的的函数来设置结构体的属性或修改函数的行为…