使用A100 GPU搭建OBBDetection的运行环境

news/2024/7/10 2:58:55 标签: 深度学习, pytorch, 目标检测, OBBDetection, MMCV

项目场景:

最近需要复现一篇目标检测论文的代码,文章提供了代码,因此自己根据仓库的说明尝试配置环境运行代码,但遇到了非常多的困难


问题描述

比较老的代码加上比较的GPU,导致了环境在配置的时候困难重重
OBBDetection框架是从MMDetection框架上修改而来的,其目的是为了实现旋转框的目标检测,而不是常见的水平框。OBB框架的安装过程和MMCV的配置过程一模一样,但问题也就出现在了这里。OBB这个项目是两年前发布的,其给出的安装教程针对cuda9.0、cuda10.x版本是适用的(这两种cuda支持的GPU算力最高也就是7.5,而A100 GPU的算力为8.0),而cuda11才能很好的支持A100,因此若按照OBB的安装文档去装环境,必然难以运行成功,因此需要我们自己摸索出到torch、cuda、mmcv这三个在A100上最适用的版本组合(排列组合了2天,给我恶心坏了,期间还遇到了各种奇奇怪怪的问题,走了弯路)
在这里插入图片描述


解决方案:

经过我的不断测试,找到了一组在A100上可以运行OBBDetection的组合

版本如下:

pytorch=1.7.1
cuda=11.0
mmcv-full=1.3.15

你可以使用下面的命令来配置OBBDetection的运行环境:

cd OBBDetection

conda create -n mmcv python=3.7 -y

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

conda activate mmcv

pip install -U openmim

mim install mmcv-full=1.3.15

pip install -v -e .

cd BboxToolkit

pip install -v -e .

可能遇到的其他问题

The detected CUDA version (10.1) mismatches the version that was used to compile Pytorch (11.1). Please make sure to use the same CUDA versions.

这个问题说的很明白,请确保CUDA compile driver version 和 所下载的pytorch对应的cuda 版本要对应。
CUDA compile driver version指的是 从这里下载的CUDA驱动
下载的pytorch对应的cuda指的是 从这里下载的支持cuda的pytorch

我之所以报这个错是因为我的Linux环境默认调用的CUDA compile driver是10.1版本的(使用nvcc -V命令查看系统调用的CUDA版本),与pytorch一起安装的cuda版本不一致,因此我又单独下载了一个CUDA11.1,至于如何在一个环境下配置多个CUDA可以参考这篇文章《非root用户在linux下安装多个版本的CUDA和cuDNN》


http://www.niftyadmin.cn/n/335434.html

相关文章

【笔记】【编程范式】浅度了解面向对象编程

前言 文本只是浅浅的对编程范式中的面向对象编程进行了解笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。 免责声明 为了方便,本文中使用的部分图片来自于网络,如有侵权,请联系博主进行删除…

java 餐饮培训平台系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 餐饮培训平台系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

Vue 3 第二十章:组件八(组件高级特性-组件的全局注册和局部注册)

文章目录 1. 全局注册组件2. 局部注册组件 Vue3 允许我们在全局注册组件,这使得我们可以构建更加灵活和可扩展的应用程序。同时,局部注册可以帮助我们更好地组织代码并提高应用程序的性能。 1. 全局注册组件 通过 app.component 方法可以在 Vue3 中创建…

pdf太大,怎么压缩的小一点,这几个方法高效便捷

pdf太大,怎么压缩的小一点呢?我们在日常办公中,使用到pdf文件的情况很多。因为pdf文件可以在几乎所有操作系统和设备上打开,这使得它们非常方便。而且PDF 文件的内容和格式在不同设备之间始终保持一致,这意味着无论在哪…

[转] 更换VS2015——>VS2019

记录VS2015工程——>VS2019工程 自己出现的一些问题和解决方法,以防自己再踩到同样的坑,也是参考了很多别人的blog 卸载VS2015: step1:正常卸载VS2015, step2:删除VS2015安装路径 step3:C盘删除所有带visual studio文件夹 step4:totalUni…

常见的8种用户需求评估方法

1、人性法 在评估用户需求时,需要判断这个需求所实现的功能,是否符合人性,与哪几种人性相匹配,如果非常匹配则值得做。当然并不是需求反应的人性越多越好,需要根据团队实际资源做到极致。 如格林人性法则包括&#xff…

易语言API函数大全丨Win API_Windows API函数大全

易语言Windows API_WinAPI函数大全 1. API之络函数 WNetAddConnection 创建同个络资源的永久性连接 WNetAddConnection2 创建同个络资源的连接 WNetAddConnection3 创建同个络资源的连接 WNetCancelConnection 结束个络连接 WNetCancelConnection2 结束个络连接 WNetCloseEnum…

面试题之软件测试流程

说说公司的软件测试流程,这,是常考的面试题之一。 不同公司的流程不一样,现状决定流程,没有绝对的对错。 以结果为导向,保证产品质量,提高测试效率,才是王道。 以下的流程为业界比较标准的流程&…