mmdetection的下载与安装(附带跑solov2示例)

2023-11-16

一、找到官方文档按步骤安装

 

mmdetection中包含许多模型的检测框架,下载以后方便后续调用

官方文档地址:依赖 — MMDetection 2.27.0 文档

需要注意的点

按照步骤来基本没有什么问题,注意CUDA、torch、mmcv的版本,不然后续跑不通会报错

1、查看版本

查看CUDA版本:cat /usr/local/cuda/version.txt

 查看torch版本:

(1)进入python环境,在终端输入python进入python环境。

(2)输入: import torch

(3)输入:torch._version_

(4)退出python环境,输入:exit()

2、基于 PyTorch 官网安装 PyTorch 和 torchvision:注意版本

3、安装 mmcv-full

不建议直接pip install mmcv-full,后面可能因为版本出问题(因为我就是这个问题弄了好久),下载的版本尽量高点(我中途改成1.2.4版本低了也出了问题)

pip install mmcv-full==XXXXX -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html

MMDetection 和 MMCV 版本兼容性见github说明,需要安装正确的 MMCV 版本以避免安装出现问题。

4、测试mmdetection是否安装成功

在mmdetection目录下新建test.py文件和checkpoints文件夹,打开网址下载好权重文件放在checkpoints文件夹下,在test.py中复制以下代码并运行即可。

from mmdet.apis import init_detector, inference_detector

config_file = 'configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py'
# 从 model zoo 下载 checkpoint 并放在 `checkpoints/` 文件下
# 网址为: http://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
checkpoint_file = 'checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'
device = 'cuda:0'
# 初始化检测器
model = init_detector(config_file, checkpoint_file, device=device)
# 推理演示图像
img = 'demo/demo.jpg'
result = inference_detector(model, img)
model.show_result(img, result)
# 将推理的结果保存
model.show_result(img, result, out_file='result.jpg')

保存以后,终端输入:python test.py

没有问题以后会生成一张名为result.jpg的图片:

 二、尝试跑solov2

可以先从https://github.com/open-mmlab/mmdetection/blob/master/demo/inference_demo.ipynb这个入手

1、下载model

mmdetection/README_zh-CN.md at master · open-mmlab/mmdetection (github.com)

在上面这个连接里可以找到各种模型的框架,这里示范solov2

solov2:可以在它的model zoo挑一个config和checkpoint下载下来

2、将model存入之前建的checkpoints文件夹里

3、找到config

在mmdetection文件里面找到对应的solov2的config

 

 4、修改test.py文件内容

根据这个改写:mmdetection/inference_demo.ipynb at master · open-mmlab/mmdetection (github.com)

把标红的地方进行替换 :

保存以后,终端输入:python test.py

得到结果:

 

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

mmdetection的下载与安装(附带跑solov2示例) 的相关文章

  • Mac OS 上的诗歌安装失败,显示“should_use_symlinks”

    我正在尝试使用以下命令安装诗歌 curl sSL https install python poetry org python3 但它失败了 但有以下例外 例外 此版本的 python 无法在不使用符号链接的情况下创建 venvs 下面是详
  • 如何在 Windows 64 上安装 NumPy?

    NumPy 安装程序在注册表中找不到 python 路径 无法安装 需要 Python 2 5 版本 但在注册表中未找到该版本 OK 我必须修改注册表吗 我已经修改了 PATH 以指向Python25安装目录 我可以检查一下您使用的是什么安
  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 用缺失的日期填充其他列 Nan Pandas DataFrame

    我实际上是从几个 Excel 文件中提取数据来监控我的每日卡路里摄入量 我设法使用列表理解来生成日期 我尝试使用合并或连接 但它不起作用 ValueError 您正在尝试合并对象和 float64 列 date list 2021 05 2
  • 检查 Python 中的可迭代对象中的所有元素的谓词是否计算为 true

    我很确定有一个常见的习语 但我无法通过谷歌搜索找到它 这是我想做的 用Java Applies the predicate to all elements of the iterable and returns true if all ev
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • 一段时间后终止线程的最 Pythonic 方法

    我想在线程中运行一个进程 它正在迭代一个大型数据库表 当线程运行时 我只想让程序等待 如果该线程花费的时间超过 30 秒 我想终止该线程并执行其他操作 通过终止线程 我的意思是我希望它停止活动并优雅地释放资源 我认为最好的方法是通过Thre
  • 从扫描文档中提取行表 opencv python

    我想从扫描的表中提取信息并将其存储为 csv 现在我的表提取算法执行以下步骤 应用倾斜校正 应用高斯滤波器进行去噪 使用 Otsu 阈值进行二值化 进行形态学开局 Canny 边缘检测 进行霍夫变换以获得表格行 去除重复行 10像素范围内相
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • 通过索引访问Python字典的元素

    考虑一个像这样的字典 mydict Apple American 16 Mexican 10 Chinese 5 Grapes Arabian 25 Indian 20 例如 我如何访问该字典的特定元素 例如 我想在对 Apple 的第一个
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • 返回表示每组内最大值的索引的一系列数字位置

    考虑一下这个系列 np random seed 3 1415 s pd Series np random rand 100 pd MultiIndex from product list ABDCE list abcde One Two T
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此

随机推荐

  • Uncaught TypeError: AMap.MarkerClusterer is not a constructor

    实验点聚合时报错 cluster new AMap MarkerClusterer map markers styles sts gridSize 80 改为 map plugin AMap MarkerClusterer function
  • SQL语法基础

    SQL语法基础 SQL语法基础 SQL 是用于访问和处理数据库的标准的计算机语言 SQL 语句 需要在数据库上执行的大部分工作都由 SQL 语句完成 tips SQL 对大小写不敏感 SELECT 与 select 是相同的 一些最重要的
  • 【每周一个编程技巧 - Java笔记】玩转SSM:SpringBoot+Mybatis多条件筛选

    SpringBoot Mybatis多条件筛选 在实际的业务开发系统中 做的最多的工作就是增 删 改 查操作 而这部分增 删 改 查的操作中又有80 的都是查询操作 本文记录的主要内容是 基于SpringBoot和Mybatis来实现条件查
  • tesseract-orc编译及使用(WINDOWS VS 2019)

    1 准备资源 Vs2010或者更高版本 本教程使用vs2019 1 1Tesseract源码 分支切换到3 04 看到vs2010 git地址https github com tesseract ocr tesseract下载源码 文件夹并
  • 关于 Demo_Ocean 例子的分析

    关于 Demo Ocean 例子的分析 重要总结 1 该例主要类不再继承自ExampleApplication和ExampleFrameListener 重写驱动类和监听类 2 如何创建OIS的输入系统 1 创建OIS ParamList
  • Arduino与人体感应模块

    工具 1 Arduino 开发板 1 2 人体感应模块传感器 1 这个人体感应传感器有三个引脚 分别是VCC OUT GND 同之前的红外线传感器一样输出的是数字信号 所以要将OUT接入digital pwm引脚 这里我接入3号引脚 下面是
  • sql排序,数据库字段设置为varchar导致排序失效

    一般情况下 我们在表设置排序字段都是int 对应的sql查询 也就只需要order by xx desc 但是总有一些老项目 由于会因为各种原因 导致出现此字段为varchar情况 这种情况我们应该怎么排序呢 ex g Ex state 0
  • 1、shell 基础进阶系列文章

    shell 基础进阶系列文章 目录 第一章 shell本质 第二章 shell2 第三章 shell3 第一章 shell认知 shell 基础进阶系列文章 前言 一 shell基础 1 shell脚本的本质 2 shell编译的基本步骤
  • zabbix监控数据转存与处理

    zabbix是一个基于WEB页面的分布式系统监控方案 能够监控各类资产并提供灵活的通知功能 同时能够运行在各种流行系统中 zabbix分为zabbix server和zabbix agent端 zabbix server可以单独远程监控服务
  • 美图全链路监控实战

    一 摘要 本文内容分为3部分 首先简单介绍了美图的业务背景和监控体系 然后是两个美图的监控实践 基于Grafana FlowCharting插件的 监控大盘 实战和基于基于GrafanaImageRender 企业微信机器人的 图文告警 实
  • JS 12——内置对象Math的方法

    1 Math 是一个内置对象 不是一个函数对象 2 Math 作为内置对象 拥有一些数学常数属性和数学函数方法 3 如果Math 用于 Number 类型 它不支持 BigInt 4 Math 的所有属性是静态的 Math方法也全部都是静态
  • 在AndroidStudio中如何查看Gradle的版本

    以Android Studio Giraffe 2022 3 1为例 File gt Project Structure gt Project Android Gradle Plugin Version Android Gradle插件版本
  • WEB程序员需要掌握的十大MySQL优化技巧

    51CTO独家特稿 WEB开发者不光要解决程序的效率问题 对数据库的快速访问和相应也是一个大问题 希望本文能对大家掌握MySQL优化技巧有所帮助 1 优化你的MySQL查询缓存 在MySQL服务器上进行查询 可以启用高速查询缓存 让数据库引
  • cookie,session,token区别

    cookie session token区别 前提 用户登陆一次以后下次不会再输入密码 核心的概念就是存储 cookie流程 浏览器发起http请求 服务器会进行cookie设置 服务器会进行cookie设置 也就是set cookie 服
  • 用Python完成毫秒级抢单,助你秒杀淘宝大单

    目录 0 引言 1 环境 2 需求分析 前期准备 3 淘宝购物流程回顾 4 秒杀的实现 5 代码梳理 6 总结 0 引言 年中购物618大狂欢又要开始了 各大电商又开始了大力度的折扣促销 如何做到更省钱的剁手呢 今天给大家提供一种思路 用P
  • java宏定义三目运算define_宏定义的正确写法,三目运算的宏定义

    第一阶段 对象宏 define M PI 3 14159265358979323846264338327950288 函数宏 define PLUS x y x y 正确的认识宏 三目运算的宏定义 1 小白写法 define MIN A B
  • 非线性控制4——Back Stepping

    1 基本思想 2 重要定理 3 实例仿真 单机械臂稳定控制 3 1 模型建立 以单机械臂控制为例 具有参数不确定性的单机械臂的模型如式 3 1 3 1 式中 为机械臂的位置 为速度 为加速度 为电动机给出的驱动力矩 为控制信号输入 为机械臂
  • 私域流量对比:微信公众号、小程序、APP,谁更有价值?

    在数字化时代 流量已经成为了互联网企业最重要的资源之一 而对于企业来说 获取到流量只是第一步 如何将流量转化为价值才是最终目的 对于私域流量的获取和转化 微信公众号 小程序和APP是目前最常见的三种方式 那么 这三种私域流量各有什么优缺点呢
  • c++11 lambda表达式

    lambda 表达式使用一对方括号作为开始的标识 类似于声明一个函数 只不过这个函数没有名字 也就是一个匿名函数 其返回值是自动推断的 函数体足够简单的情况 当然也可以指定返回值类型 c 11 lambda语法形式 p int a gt i
  • mmdetection的下载与安装(附带跑solov2示例)

    一 找到官方文档按步骤安装 mmdetection中包含许多模型的检测框架 下载以后方便后续调用 官方文档地址 依赖 MMDetection 2 27 0 文档 需要注意的点 按照步骤来基本没有什么问题 注意CUDA torch mmcv的