(linux系统下)MMCV及MMClassification教程及安装问题解决

2023-11-19

说一下依托关系:MMCV是面向计算机视觉的一个基础库,它支持OpenMMLab的各个模块包括MMClassification图像分类,MMDetectionm目标检测,MMOCR文字检测识别等等,本文主要详细介绍一下mmcv和mmcls的安装。

目录

一.MMCV 安装 

1.查看CUDA 版本、PyTorch 版本

2.进行pip安装

①第一种方式:通过下载安装包,进行pip安装

 ②如果网速允许的条件下可以直接输入以下命令进行安装

③验证是否安装成功

​编辑如有输出版本号则证明安装成功!!!!!

二.MMClassification 安装

①源码安装

② 验证安装 

③进行实际模型验证


一.MMCV 安装 

MMCV 有两个版本:

  • mmcv-full: 完整版,包含所有的特性以及丰富的开箱即用的 CPU 和 CUDA 算子。注意,完整版本可能需要更长时间来编译。

  • mmcv: 精简版,不包含 CPU 和 CUDA 算子但包含其余所有特性和功能,类似 MMCV 1.0 之前的版本。如果你不需要使用算子的话,精简版可以作为一个考虑选项。


1.查看CUDA 版本、PyTorch 版本

# 进入python命令行
python
# 这里会输出你的python版本
import torch 
print(torch.__version__)
print(torch.version.cuda)

2.进行pip安装

这里以CUDA11.3  Pytorch1.12.1 python3.8.13为例 

①第一种方式:通过下载安装包,进行pip安装

https://download.openmmlab.com/mmcv/dist/cu113/torch1.12/index.html                        

根据你自己的版本替换上面的数字,例如你的cuda为11.1---则为cu111 torch为1.11---则为torch1.11

进入网站之后选择根据你自己的python版本和你想要安装的mmcv-full的版本号进行压缩包下载

下载好压缩包之后,在你安装包所在位置打开终端(Ctrl+ALT+T)输入以下命令:(具体根据自己版本自行更换!!!!!!!!!!!)

pip install https://download.openmmlab.com/mmcv/dist/cu113/torch1.12/index.html

 ②如果网速允许的条件下可以直接输入以下命令进行安装

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

③验证是否安装成功

python
>>>import mmcv
>>>print(mmcv.__version__)

如有输出版本号则证明安装成功!!!!!

二.MMClassification 安装

①源码安装

同样也建议大家使用源码安装(可以基于 MMClassification 框架开发自己的图像分类任务,需要添加新的功能)

git clone https://github.com/open-mmlab/mmclassification.git
# 从GitHub上克隆mmcls的模型代码仓库

cd mmclassification
# 进入克隆下来的文件夹 

pip install -v -e . 
#进行安装依赖  不要忘记后面的那个·哦!!

② 验证安装 

首先进行版本验证:

python 
# 进入python命令行

import mmcls 
print(mmcls.__version__)

有如下输出则证明初步安装正确

③进行实际模型验证

CD 进入前面从GitHub上克隆下来的mmclassification文件夹

pip install -U openmim 
# 下载mim安装命令

mim download mmcls --config resnet50_8xb32_in1k --dest .
# 下载模型权重文件

python demo/image_demo.py demo/demo.JPEG resnet50_8xb32_in1k.py resnet50_8xb32_in1k_20210831-ea4938fc.pth --device cpu
# 进行图片验证  

如果在命令行中输出结果字典,包括 pred_label,pred_score 和 pred_class 三个字段,则证明安装成功
如果想看到实际图片可以在上述命令后面加上 --show

——————————————-----  可能会出现的问题————————————————

有的用户在进行最后一步验证的时候晚上可能会出现‘no module named  mmcls’的情况 ,该种情况出现的原因是mmcls未在python解释器的环境变量中

输入以下命令查看mmcls是否在环境路径中

python
import sys
sys.path 

进入上文从GitHub中克隆下来的mmclassification文件夹中会发现mmcls文件夹,记住mmcls文件的路径!!!!

按照如下操作:

1.打开终端
  Ctrl + Alt + T

2.打开 ~/.bashrc 文件
  gedit ~/.bashrc

3.在文件的末尾添加以下内容
  export PYTHONPATH= 你的mmcls文件的路径 :$PYTHONPATH

4.保存文件并关闭编辑器

5.输入以下命令使修改生效
  source ~/.bashrc

重复上述查看路径的命令

会看到如下输出:

 此处证明完全安装成功!!!!!!!!!!!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(linux系统下)MMCV及MMClassification教程及安装问题解决 的相关文章

随机推荐

  • idea2021如何开启RunDashboard

    一般来说如果你的微服务项目中拥有多个子模块 idea会自动识别 不需要进行以下操作 只要你一运行多个子模块就会自动出现 如果没有出现 那就只有手动添加了 1 找到workspace xml项目所在的磁盘路径 idea gt workspac
  • CTF图片隐写题

    1 隐藏在图片属性里的信息或者以文本形式打开能直接获取的信息 例如实验吧里的一道题 这个背影我给满分 就是将信息隐藏在属性里 又或者文本形式能直接看到的 分别是黑客榜中榜游戏和南邮平台的两道题
  • 按键控制数码管0-99显示,十位不跳,用定时器T0中断

    如果直接在主函数中写按键控制数码管0 99显示 不管怎么延时数码管十位上的数都会闪 原因就是单片机的机器周器太快 人的按键速度是ms级的 所以等你人操作完了 单片机早就执行了不知道多少遍 解决方法就是用中断 这里采用定时器T0溢出中断 工作
  • 单目标应用:基于蛇群优化算法(SO)的无人机(UAV)三维路径规划(提供MATLAB代码)

    一 蛇群优化算法SO 蛇群优化算法 Snake Optimizer SO 由Fatma A Hashim和Abdelazim G Hussien于2022年提出 该算法思路新颖 快速高效 模拟了蛇的觅食和繁殖行为 SO具体原理参考如下链接
  • PyQt5 组件之QMenuBar

    QMenuBar简介 在QMainWindow对象的标题栏下方 水平的QMenuBar被保留显示QMenu对象 QMenuBar类提供了一个可以包含一个或多个QAction对象或 级联的QMenu对象 要创建一个弹出菜单 Pyqt提供了cr
  • FM33G0X之上电过程引脚配置

    八 FM33G0X之上电过程引脚配置 使用官方例程的代码初始化 在实际测试中会出现 配置成输出的引脚在上电过程中会将电平拉高 12v的输入电压 引脚可能会拉到3v 并持续一段时间 这对于实际应用中 是不应该出现的 比如一开始在io口配置中配
  • Visual C++ Redistributable 一键安装All In One Runtimes

    老版本的程序需要在客户端安装低版本的VC运行库Visual Studio 但网上第三方找到的软件要么无法下载 要么版本低 或者要求付费 而且常常有病毒 或者根本就是垃圾广告 因此从微软厂商下载 并编写了一个非常简单的脚本一键安装 右键以管理
  • webpack

    一 背景 随着我们的项目涉及到页面越来越多 功能和业务代码也会随着越多 相应的 webpack 的构建时间也会越来越久 构建时间与我们日常开发效率密切相关 当我们本地开发启动 devServer 或者 build 的时候 如果时间过长 会大
  • simcse模型

    一个对比学习的框架 作者在这里通过将一句话分两次过同一个模型 但使用两种不同的dropout 这样得到的两个sentence embedding就作为模型的正例 而同一个batch中的其他embedding就变为了负例 第二个代理任务就更加
  • linux虚拟机BIOS禁用Intel VT-x,电脑重启开启CPU虚拟化

    安装虚拟机centOS64的时候出现下面这个问题 通过 任务管理器 查看性能 CPU 发现是 已禁用 解决办法 重启电脑 修改BIOS中CPU 的配置 重点是 重启电脑 重点是 重启电脑 重点是 重启电脑 重启的过程中才能修改 重启的时候
  • vue3中使用pinia(大菠萝)状态管理仓库

    在Vue 3中 状态管理是非常重要的一部分 而Pinia 大菠萝 作为一个全新的状态管理库 在Vue 3中提供了更好的状态管理方案 可以方便地实现任意组件之间数据共享 与VueX不同的是 Pinia并不依赖于Vue 3的响应式系统 而是通过
  • scikit-learn学习笔记

    数据划分 from sklearn model selection import train test split 数据预处理 数据标准化 归一化 from sklearn preprocessing import StandardScal
  • 浅谈HTTP

    HTTP Hyper Text Transfer Protocol 超文本传输协议 完成从客户端到服务器的一系列运作流程 是用于从万维网 WWW World Wide Web 服务器传输超文本到本地浏览器的传送协议 HTTP的发展历程 HT
  • python学习笔记(1)-爬取小说

    小说网站上某个小说的爬取 Python版本 3 9 6 ide PyCharm 2021 1 3 基于HTML和Python基础语法知识 涉及内容如下 1 使用requests获取网页资源 2 使用BeautifulSoup拆解网页html
  • Python Socket(二) Socket异常处理方法及Socket错误码一览表

    Python Socket操作的异常处理范例 http blog chinaunix net uid 270894 id 2452366 html socket常见错误码详解 Socket error 10048 Address alrea
  • docker学习:CMD 和 ENTRYPOINT区别

    CMD 指定这个容器启动的时候要运行的命令 只有最后一个会生效 可被替代 ENTRYPOINT 指定这个容器启动的时候要运行的命令 可以追加命令 cmd 测试 ls a的命令 实际上只有 a起作用了 ls没有 测试CMD 编写dockerf
  • 8. UE4的盒体触发器和时间轴(制作感应门)

    一 盒体触发器 Box Trigger 1 创建一个盒体触发器 Box Trigger 拖动到地面上空 按End键 贴近地面 2 选中盒体触发器 在关卡蓝图中添加 On Actor Begin Overlap 事件 进入盒体触发器事件 a
  • Linux系统下查看mysql版本的四种方法分享

    这篇文章主要介绍了Linux系统下查看mysql版本的四种方法 本文讲解了在终端下用mysql V 使用mysql gt status 在help里面查找 使用mysql的函数等4种方法 需要的朋友可以参考下 1 在终端下 mysql V
  • Java进程僵尸进程问题定位

    在Linux服务器上 使用top命令查看CPU使用情况 发现大量僵尸进程 解决办法 1 通过 ps aux grep Z 定位到僵尸进程 最后有defunct的标记 就表明是僵尸进程 USER PID CPU MEM VSZ RSS TTY
  • (linux系统下)MMCV及MMClassification教程及安装问题解决

    说一下依托关系 MMCV是面向计算机视觉的一个基础库 它支持OpenMMLab的各个模块包括MMClassification图像分类 MMDetectionm目标检测 MMOCR文字检测识别等等 本文主要详细介绍一下mmcv和mmcls的安