mmtrack mmdet mmcv环境安装 版本匹配 2023.5.18

news2024/11/20 15:17:36

一、参考官网:

https://mmtracking.readthedocs.io/zh_CN/latest/install.html#

mmtracking,mmcv,mmdetection版本匹配关系:

MMTracking versionMMCV versionMMDetection version
mastermmcv-full>=1.3.17, \<2.0.0MMDetection>=2.19.1, \<3.0.0
0.14.0mmcv-full>=1.3.17, \<2.0.0MMDetection>=2.19.1, \<3.0.0
0.13.0mmcv-full>=1.3.17, \<1.6.0MMDetection>=2.19.1, \<3.0.0
0.12.0mmcv-full>=1.3.17, \<1.5.0MMDetection>=2.19.1, \<3.0.0
0.11.0mmcv-full>=1.3.17, \<1.5.0MMDetection>=2.19.1, \<3.0.0
0.10.0mmcv-full>=1.3.17, \<1.5.0MMDetection>=2.19.1, \<3.0.0
0.9.0mmcv-full>=1.3.17, \<1.5.0MMDetection>=2.19.1, \<3.0.0
0.8.0mmcv-full>=1.3.8, \<1.4.0MMDetection>=2.14.0, \<3.0.0

二、安装:

  • conda创建并激活mmtrack环境:

conda create -n mmtrack python=3.8 pip numpy -y
conda activate mmtrack
  • 查看cuda版本:

nvcc -V 或者nvidia-smi
注意:
CUDA有 Runtime 运行API和 Driver 驱动API,两者都有对应的CUDA版本:
nvcc -V 显示的就是Runtime 运行API对应的CUDA版本,
而 nvidia-smi显示的是Driver 驱动API对应的CUDA版本。
一般运行API版本<=驱动API版本即可。
软件运行时调用的应该是Runtime API
cat /usr/local/cuda/version.txt 显示的就是cuda软链接里面的cuda版本

————————————————
版权声明:本文为CSDN博主「图形学挖掘机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42416791/article/details/115720181
  • 安装pytorch等:

pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113


注:我这边是cuda11.3版本的,所以在官网:
https://pytorch.org/get-started/previous-versions/
找11.3可以得到安装命令:
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113

  • 安装mmvc

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.0/index.html

注意:cuda版本和torch版本要与上一步的匹配,我这里是cu113,torch版本是1.12.0,所以这里是torch1.12.0

  • 安装mmdet,mmtrack参考官网:依赖 — MMTracking 0.14.0 文档
  1. 安装 MMDetection:

    pip install mmdet
    

    或者如果您想修改代码,也可以从源码构建 MMDetection:

    git clone https://github.com/open-mmlab/mmdetection.git
    cd mmdetection
    注意:clone下来的master分支默认是3.0.0版本,mmtrack目前还不支持此版本,所以需要checkout到2.x版本再去编译。
    checkout命令:git checkout origin/2.x 
    编译安装命令:
    pip install -r requirements/build.txt
    pip install -v -e . # or "python setup.py develop"
    

    验证安装是否成功:

    import mmdet

    print(mmdet.__version__)

    # 预期输出:3.0.0 或其他版本号

    更多参考:

    开始你的第一步 — MMDetection 3.0.0 文档

  2. 将 MMTracking 仓库克隆到本地:

    git clone https://github.com/open-mmlab/mmtracking.git
    cd mmtracking
    
  3. 首先安装依赖,然后安装 MMTracking:

    pip install -r requirements/build.txt
    pip install -v -e .  # or "python setup.py develop"
    
  4. 安装额外的依赖:

  • 为 MOTChallenge 评估:

    pip install git+https://github.com/JonathonLuiten/TrackEval.git
    
  • 为 LVIS 评估:

    pip install git+https://github.com/lvis-dataset/lvis-api.git
    
  • 为 TAO 评估:

    pip install git+https://github.com/TAO-Dataset/tao.git

验证

为了验证是否正确安装了 MMTracking 和所需的环境,我们可以运行 MOT、VID、SOT 的示例脚本。

运行 MOT 演示脚本您可以看到输出一个命名为 mot.mp4 的视频文件:

python demo/demo_mot_vis.py configs/mot/deepsort/sort_faster-rcnn_fpn_4e_mot17-private.py --input demo/demo.mp4 --output mot.mp4

三、踩过的坑

1. 报错:

The detected CUDA version (12.0) mismatches the version that was used to compile

      PyTorch (11.8). Please make sure to use the same CUDA versions.

原因:pytorch2.0.1不支持cuda12.0

解决办法:安装cuda11.8

2. 通过mim install "mmcv>=2.0.0"安装mmcv而不是pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.0/index.html

报错:

nvcc fatal   : Unsupported gpu architecture 'compute_89'

error: command '/usr/local/cuda-11.4/bin/nvcc' failed with exit code 1

[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.

error: legacy-install-failure

× Encountered error while trying to install package.

╰─> mmcv

note: This is an issue with the package mentioned above, not pip.

hint: See above for output from the failure.

原因:不同GPU算力不一致。算力参考:https://en.wikipedia.org/wiki/CUDA

Compute

capability

(version)

Micro-architecture

GPUs

GeForce

1.0

Tesla

G80

GeForce 8800 Ultra, GeForce 8800 GTX, GeForce 8800 GTS(G80)

1.1

Tesla

G92, G94, G96, G98, G84, G86

GeForce GTS 250, GeForce 9800 GX2, GeForce 9800 GTX, GeForce 9800 GT, GeForce 8800 GTS(G92), GeForce 8800 GT, GeForce 9600 GT, GeForce 9500 GT, GeForce 9400 GT, GeForce 8600 GTS, GeForce 8600 GT, GeForce 8500 GT,

GeForce G110M, GeForce 9300M GS, GeForce 9200M GS, GeForce 9100M G, GeForce 8400M GT, GeForce G105M

1.2

Tesla

GT218, GT216, GT215

GeForce GT 340*, GeForce GT 330*, GeForce GT 320*, GeForce 315*, GeForce 310*, GeForce GT 240, GeForce GT 220, GeForce 210,

GeForce GTS 360M, GeForce GTS 350M, GeForce GT 335M, GeForce GT 330M, GeForce GT 325M, GeForce GT 240M, GeForce G210M, GeForce 310M, GeForce 305M

1.3

Tesla

GT200, GT200b

GeForce GTX 295, GTX 285, GTX 280, GeForce GTX 275, GeForce GTX 260

2.0

Fermi

GF100, GF110

GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 480, GeForce GTX 470, GeForce GTX 465,

GeForce GTX 480M

2.1

Fermi

GF104, GF106 GF108, GF114, GF116, GF117, GF119

GeForce GTX 560 Ti, GeForce GTX 550 Ti, GeForce GTX 460, GeForce GTS 450, GeForce GTS 450*, GeForce GT 640 (GDDR3), GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce GT 520, GeForce GT 440, GeForce GT 440*, GeForce GT 430, GeForce GT 430*, GeForce GT 420*,

GeForce GTX 675M, GeForce GTX 670M, GeForce GT 635M, GeForce GT 630M, GeForce GT 625M, GeForce GT 720M, GeForce GT 620M, GeForce 710M, GeForce 610M, GeForce 820M, GeForce GTX 580M, GeForce GTX 570M, GeForce GTX 560M, GeForce GT 555M, GeForce GT 550M, GeForce GT 540M, GeForce GT 525M, GeForce GT 520MX, GeForce GT 520M, GeForce GTX 485M, GeForce GTX 470M, GeForce GTX 460M, GeForce GT 445M, GeForce GT 435M, GeForce GT 420M, GeForce GT 415M, GeForce 710M, GeForce 410M

3.0

Kepler

GK104, GK106, GK107

GeForce GTX 770, GeForce GTX 760, GeForce GT 740, GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650,

GeForce GTX 880M, GeForce GTX 870M, GeForce GTX 780M, GeForce GTX 770M, GeForce GTX 765M, GeForce GTX 760M, GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 670MX, GeForce GTX 660M, GeForce GT 750M, GeForce GT 650M, GeForce GT 745M, GeForce GT 645M, GeForce GT 740M, GeForce GT 730M, GeForce GT 640M, GeForce GT 640M LE, GeForce GT 735M, GeForce GT 730M

3.5

Kepler

GK110, GK208

GeForce GTX Titan Z, GeForce GTX Titan Black, GeForce GTX Titan, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GT 640 (GDDR5), GeForce GT 630 v2, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 740M (64-bit, DDR3), GeForce GT 920M

5.0

Maxwell

GM107, GM108

GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 960M, GeForce GTX 950M, GeForce 940M, GeForce 930M, GeForce GTX 860M, GeForce GTX 850M, GeForce 845M, GeForce 840M, GeForce 830M

5.2

Maxwell

GM200, GM204, GM206

GeForce GTX Titan X, GeForce GTX 980 Ti, GeForce GTX 980, GeForce GTX 970, GeForce GTX 960, GeForce GTX 950, GeForce GTX 750 SE,

GeForce GTX 980M, GeForce GTX 970M, GeForce GTX 965M

6.1

Pascal

GP102, GP104, GP106, GP107, GP108

Nvidia TITAN Xp, Titan X,

GeForce GTX 1080 Ti, GTX 1080, GTX 1070 Ti, GTX 1070, GTX 1060,

GTX 1050 Ti, GTX 1050, GT 1030, GT 1010,

MX350, MX330, MX250, MX230, MX150, MX130, MX110

7.0

Volta

GV100

NVIDIA TITAN V

7.5

Turing

TU102, TU104, TU106, TU116, TU117

NVIDIA TITAN RTX,

GeForce RTX 2080 Ti, RTX 2080 Super, RTX 2080, RTX 2070 Super, RTX 2070, RTX 2060 Super, RTX 2060 12GB, RTX 2060,

GeForce GTX 1660 Ti, GTX 1660 Super, GTX 1660, GTX 1650 Super, GTX 1650, MX550, MX450

8.6

Ampere

GA102, GA103, GA104, GA106, GA107

GeForce RTX 3090 Ti, RTX 3090, RTX 3080 Ti, RTX 3080 12GB, RTX 3080, RTX 3070 Ti, RTX 3070, RTX 3060 Ti, RTX 3060, RTX 3050, RTX 3050 Ti(mobile), RTX 3050(mobile), RTX 2050(mobile), MX570

8.9

Ada

Lovelace

AD102, AD103, AD104, AD106, AD107

GeForce RTX 4090, RTX 4080, RTX 4070 Ti, RTX 4070

3. 报错:pip install git+https://github.com/JonathonLuiten/TrackEval.git时报错:

  fatal: unable to access 'GitHub - JonathonLuiten/TrackEval: HOTA (and other) evaluation metrics for Multi-Object Tracking (MOT).': GnuTLS recv error (-110): The TLS connection was non-properly terminated.

  error: subprocess-exited-with-error

 

  × git clone --filter=blob:none --quiet GitHub - JonathonLuiten/TrackEval: HOTA (and other) evaluation metrics for Multi-Object Tracking (MOT). /tmp/pip-req-build-ex0bgbo7 did not run successfully.

  │ exit code: 128

  ╰─> See above for output.

 

  note: This error originates from a subprocess, and is likely not a problem with pip.

error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet GitHub - JonathonLuiten/TrackEval: HOTA (and other) evaluation metrics for Multi-Object Tracking (MOT). /tmp/pip-req-build-ex0bgbo7 did not run successfully.

│ exit code: 128

╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

原因:可能是github连接不稳定,

解决办法:重新执行几次命令即可。

4. ModuleNotFoundError: No module named ‘mmcv._ext‘

pip install mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.0/index.html

注意:链接中的cuda version和torch版本要对应

 参考:ModuleNotFoundError: No module named ‘mmcv._ext‘解决方案_no module named mmcv_AI 菌的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/541096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

100 个 Go 错误以及如何避免:9~12

协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【OpenDocCN 饱和式翻译计划】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 真相一旦入眼&#xff0c;你就再也无法视而不见。——《黑客帝国》 九、并发实践 本章涵盖 防止 …

vue3的学习【超详细】

目录 一、vue3的优点1、vue3的优点 二、常用的API1、setup&#xff08;Composition API&#xff09;2、生命周期&#xff08;Composition API&#xff09;3、ref函数和reactive函数用法和区别&#xff08;Composition API&#xff09;1、ref2、reactive3、ref和reactive的区别 …

linux + ros 使用 catkin 从源码编译安装并运行 rocon_rtsp_camera_relay 订阅 rtsp 视频流

1. rocon_rtsp_camera_relay 介绍 最主要的功能在于把相机的 rtsp 视频流 转换为 ros topic 发布出来&#xff0c;使其他节点可以通过订阅的形式获取视频流数据。 2. 编译安装 注&#xff1a;官网的安装命令 sudo apt-get install ros-<distro>-rocon-rtsp-camera-rel…

leetcode 1557. Minimum Number of Vertices to Reach All Nodes(到达所有顶点的最少顶点集)

给出一个有向无环图&#xff08;DAG&#xff09;&#xff0c;顶点有n个&#xff1a;0&#xff5e;n - 1, 边[from, to]为从顶点from到to的边。 找出最小的顶点集合&#xff0c;从这些顶点出发能到达图中的所有顶点&#xff08;集合里不一定每个点都能到达所有顶点&#xff0c;而…

kettle——处理缺失值

目录 一、删除缺失值 1、文本文件输入 2、字段选择 3、过滤记录 4、输出excel文件 5、运行 二、填充缺失值 1、添加文件 2、过滤记录 3、替换NULL值 4、合并记录 5、替换NULL值2 6、字段选择 7、Excel输出 8、运行并查看执行结果 一、删除缺失值 1、文本文件输入…

MMOE - 经典多任务模型(谷歌)

文章目录 1、动机&#xff1a;2、模型结构&#xff1a; Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Expertsmmoe: Multi-gate Mixture-of-Expertsmmoe由谷歌发表在KDD-2018【和阿里的ESMM同年发表&#xff0c;SIGIR-2018】&#xff1b;模…

华为手环8添加门禁卡操作指导

不得不说&#xff0c;华为基于手机/手环NFC和蓝牙等技术应用&#xff0c;结合门禁卡灵活、安全、便利的优势&#xff0c;给社区场景提供更优质和更多样的技术支持与服务&#xff0c;为广大用户创造美好的数字化生活体验。 目前华为手环8支持模拟市面上未经加密过的、频率为13.5…

服务发现原理与grpc源码解析

一 服务发现基础概念 为什么需要服务发现 在微服务架构中&#xff0c;在生产环境中服务提供方都是以集群的方式对外提供服务&#xff0c;集群中服务的IP随时都可能发生变化&#xff0c;如服务重启&#xff0c;发布&#xff0c;扩缩容等&#xff0c;因此我们需要及时获取到对应…

ThreadLocal使用和原理

ThreadLocal是线程本地变量&#xff0c;用来解决并发下数据隔离性的问题&#xff0c;不能解决共享。 他可以将一个变量拷贝的线程内&#xff0c;线程调用时再线程内进行使用&#xff0c;相当于给每个线程复制一个副本供各个线程使用。 ThreadLocal简单使用 他的目的很简单&a…

Unity用AI制作天空盒,并使用,详细图文教程

Unity用AI制作天空盒&#xff0c;并使用&#xff0c;详细图文教程 效果AI制作使用总结版权声明 效果 先上我自己做的效果 AI制作 首先登录AI制作的网站&#xff0c;打开就可以用&#xff0c;不需要登录 这是网址&#xff1a;https://skybox.blockadelabs.com/ 1.创建新的 2…

idea操作——如何format代码

1.选中需要format的类&#xff0c;然后右击&#xff0c;选择reformat code 2.出现的复选框根据自己的需求进行选择。然后点击OK即可。 Optimize imports 优化导入 选中此复选框可从所选范围内的代码中删除未使用的导入语句。 删除代码中没使用到的import 。使导入最优化 Rearr…

【C++】-模板初阶(函数和类模板)

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee:gitee 作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录 前言一、为什么要模板&…

【面试题】谈谈你对vite的了解

大厂面试题分享 面试题库 前后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 web前端面试题库 VS java后端面试题库大全 1.什么是vite vite是新一代前端构建工具&#xff0c;能够显著提升前端开发体验。他是使用…

东邻到家小程序|东邻到家小程序源码|东邻到家小程序开发功能

上门服务这几年已经越来越火爆&#xff0c;不论是家政、按摩、美甲等等都在不断的发展上门服务&#xff0c;这几年东邻到家小程序系统在不断的摸索阶段&#xff0c;对于系统各方面的需求也在不断提升&#xff0c;东郊到家小程序通过线上匹配用户和技师的需求&#xff0c;让人们…

低代码开发打破CRM开发瓶颈,是否靠谱呢?

低代码开发平台是一种快速开发应用程序的新兴技术&#xff0c;它通过提供可视化开发工具和预配置组件&#xff0c;使开发者更加高效地创建应用程序。低代码开发平台的出现为企业开发带来了一次全新的机遇&#xff0c;尤其是在CRM领域。但是&#xff0c;低代码开发在CRM领域中是…

得物前端巡检平台的建设和应用(建设篇)

1.背景 我们所在的效能团队&#xff0c;对这个需求最原始的来源是在一次“小项目”的评审中&#xff0c;增长的业务同学提出来的&#xff0c;目的在于保障前端页面稳定性的同时减少大量测试人力的回归成本。 页面稳定性提升&#xff0c;之前迭代遇见过一些C端的线上问题&…

自学软件测试,我还是劝你算了吧。。。

本人8年测试经验&#xff0c;在学测试之前对电脑的认知也就只限于上个网&#xff0c;玩个办公软件。这里不能跑题&#xff0c;我为啥说&#xff1a;自学软件测试&#xff0c;一般人我还是劝你算了吧&#xff1f;因为我就是那个一般人&#xff01; 软件测试基础真的很简单&…

乒乓测评:电视盒子哪个牌子最好?2023电视盒子品牌排行榜

这里是乒乓测评&#xff0c;致力于带来更客观、真实的数码产品体验。本期我们测评的主题是电视盒子哪个牌子最好&#xff0c;为此我们购入了二十多款热门电视盒子&#xff0c;从硬件配置、视频流畅度、系统界面、操作、广告程度等方面进行多维度的测评&#xff0c;根据结果整理…

C++每日一练:详解-买铅笔影分身三而竭

文章目录 前言一、买铅笔二、影分身三、三而竭总结 前言 这回又换成C了&#xff0c;Python要用C也要用&#xff0c;没有哪个正经程序员只会一门语言的&#xff0c;咱可是CSDN认证带V的全栈攻城狮。今天的题目除了买铅笔都还是有点难度的&#xff0c;虽然影分身主要是考验阅读理…

【matlab报错】:函数或变量 ‘randint‘ 无法识别。

问题产生 首先定位问题&#xff0c;这个问题是由matlab版本造成的&#xff0c;随着matlab版本的更新&#xff0c;matlab删除了 randint 这个函数。 怎么替代呢&#xff1f;鼠标悬浮在报错代码上面&#xff0c;如下&#xff1a; matlab提示我们对代码进行相应更改后改用randi了…