【深度学习】目标检测,Faster-RCNN算法训练,使用mmdetection训练

文章目录

  • 资料
  • 环境
  • 数据
  • 测试

资料

https://mmdetection.readthedocs.io/zh-cn/latest/user_guides/config.html

环境

Dockerfile

ARG PYTORCH="1.9.0"
ARG CUDA="11.1"
ARG CUDNN="8"FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-develENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0 7.5 8.0 8.6+PTX" \TORCH_NVCC_FLAGS="-Xfatbin -compress-all" \CMAKE_PREFIX_PATH="$(dirname $(which conda))/../" \FORCE_CUDA="1"# Avoid Public GPG key error
# https://github.com/NVIDIA/nvidia-docker/issues/1631
RUN rm /etc/apt/sources.list.d/cuda.list \&& rm /etc/apt/sources.list.d/nvidia-ml.list \&& apt-key del 7fa2af80 \&& apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub \&& apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub# (Optional, use Mirror to speed up downloads)
RUN sed -i 's/http:\/\/archive.ubuntu.com\/ubuntu\//http:\/\/mirrors.aliyun.com\/ubuntu\//g' /etc/apt/sources.list && \pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# Install the required packages
RUN apt-get update \&& apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \&& apt-get clean \&& rm -rf /var/lib/apt/lists/*# Install MMEngine and MMCV
RUN pip install openmim && \mim install "mmengine>=0.7.1" "mmcv==2.0.0rc4"# Install MMDetection
RUN conda clean --all \&& git clone https://github.com/open-mmlab/mmdetection.git /mmdetection \&& cd /mmdetection \&& pip install --no-cache-dir -e .WORKDIR /mmdetection

build:

docker build -f Dockerfile -t kevinchina/deeplearning:mmdetection_train .

run docker container:

docker run --gpus all -it -v $PWD:/mmdetection/data kevinchina/deeplearning:mmdetection_train bash

修改mmcv版本:

mim install mmcv==2.0.0rc4

数据

为了便于测试,下载数据集
https://pjreddie.com/projects/pascal-voc-dataset-mirror/#google_vignette

cd data
wget http://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
tar xf VOCtrainval_06-Nov-2007.tar

在这里插入图片描述

测试

https://github.com/open-mmlab/mmdetection/tree/main/configs/faster_rcnn

在 Pascal VOC 数据集上测试 Faster R-CNN,不保存测试结果,测试 mAP。

下载一个faster rcnn权重:
https://github.com/open-mmlab/mmdetection/blob/main/configs/faster_rcnn/metafile.yml

mkdir checkpoints
cd checkpoints
wget https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth

执行测试,单卡测试:

python tools/test.py \configs/pascal_voc/faster-rcnn_r50_fpn_1x_voc0712.py \checkpoints/faster_rcnn_r50_fpn_1x_voc0712_20200624-c9895d40.pth

emmmm,,这mmdetection的配置文件的方式真老火啊,例子不太多,算了,节约时间,直接用别的代码,就此打住。

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

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

相关文章

1731. 每位经理的下属员工数量

1731. 每位经理的下属员工数量 题目链接:1731. 每位经理的下属员工数量 代码如下: # Write your MySQL query statement below select a.employee_id as employee_id,a.name as name,count(b.employee_id) as reports_count,round(avg(b.age),0) as av…

Web后端的前端:揭秘跨界融合的深度探索

Web后端的前端:揭秘跨界融合的深度探索 在数字化浪潮汹涌的今天,Web后端与前端之间的关系愈发微妙而紧密。两者相互依存,共同构成了现代Web应用的骨架和血肉。然而,当谈及Web后端的前端时,我们究竟在谈论什么呢&#…

使用 Scapy 库编写 TCP 劫持攻击脚本

一、介绍 TCP劫持攻击(TCP Hijacking),也称为会话劫持,是一种攻击方式,攻击者在合法用户与服务器之间的通信过程中插入或劫持数据包,从而控制通信会话。通过TCP劫持,攻击者可以获取敏感信息、执…

mysql 更改数据存储目录

先停止 mysql :sudo systemctl start/stop mysql 新建新的目录, 比如 /mnt/data/systemdata/mysql/mysql_data sudo chown -R mysql:mysql /mnt/data/sysdata/mysql/mysql_data sudo chmod -R 750 /mnt/data/sysdata/mysql/mysql_data 更改mysql.cnf…

LeetCode:字母异位词分组

文章收录于LeetCode专栏 LeetCode地址 字母异位词分组 题目 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。所有输入均为小写字母,且不考虑答案输出的顺序。   示例1: 输入: strs [“…

2024高考作文-ChatGPT完成答卷,邀请大家来打分

高考,愿你脑洞大开,知识点全都扎根脑海;考试时手感倍儿棒,答题如行云流水;成绩公布时,笑容如春风拂面,心情如阳光普照!高考加油,你一定行! 新课标I卷 试题内…

C/C++程序员一定要知道的一些X86汇编语句

目录 1. 寄存器 通用寄存器: 栈寄存器: 指令指针寄存器: 2. 汇编指令 mov: add、sub: lea: jmp: call、ret: 3. 总结 我们在学习C语言和C的期间,有很多时候需要反汇编看语句所对应的汇编是什么样的&#x…

北邮21硕后端知识网络

blog 整理北邮21渣硕Java后端开发知识网络,阅读笔记以及技术博客,持续更新!欢迎Star! GitHub: https://github.com/WeiXiao-Hyy/blog Java 基础篇 一文带你搞懂final关键字 Java并发编程 fucking-java-concurrency解读你真…

webrtc客户端测试和arm平台测试(待补充)

一、关于API的使用研究 二、遇到的一些问题 1、snd_write Broken pipe 写音频数据到缓存不及时导致,codec没有数据可以播放。 alsa总结 WebRTC源码研究(1)WebRTC架构 WebRTC 中的基本音频处理操作

“深入探讨Java中的对象拷贝:浅拷贝与深拷贝的差异与应用“

前言:在Java编程中,深拷贝(Deep Copy)与浅拷贝(Shallow Copy)是两个非常重要的概念。它们涉及到对象在内存中的复制方式,对于理解对象的引用、内存管理以及数据安全都至关重要。 ✨✨✨这里是秋…

多粒度特征融合(细粒度图像分类)

多粒度特征融合(细粒度图像分类) 摘要Abstract1. 多粒度特征融合1.1 文献摘要1.2 研究背景1.3 创新点1.4 模型方法1.4.1 Swin-Transformer1.4.2 多粒度特征融合模块1.4.3 自注意力1.4.4 通道注意力1.4.5 图卷积网络1.4.6 基于Vision-Transformer的两阶段…

04-4.1.1 串的定义和基本操作

👋 Hi, I’m Beast Cheng👀 I’m interested in photography, hiking, landscape…🌱 I’m currently learning python, javascript, kotlin…📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…

Rust 实战丨SSE(Server-Sent Events)

📌 SSE(Server-Sent Events)是一种允许服务器向客户端浏览器推送信息的技术。它是 HTML5 的一部分,专门用于建立一个单向的从服务器到客户端的通信连接。SSE的使用场景非常广泛,包括实时消息推送、实时通知更新等。 S…

编程参考 - 使用静态连接库和动态链接库的区别

静态库链接和动态库链接是在程序中包含外部库的两种方法。这两种方法各有利弊。下面是静态库链接和动态库链接的详细比较: 静态库链接 静态链接包括在编译时将所有必要的库代码直接包含到可执行文件中。 优点: 可移植性: 可执行文件是自包…

数据结构笔记 3 串 数组 广义表

以下了解即可,暂时没发现有什么考点 参考: 【数据结构】——多维数组和广义表_数据结构loc-CSDN博客 相对应的题目: 他这个数组不是从0开始的,是从1开始的,所以为了配合公式要减1 下面这道题又不一样,它是…

【python深度学习】——torch.einsum|torch.bmm

【python深度学习】——torch.einsum|torch.bmm 1. 基本用法与示例2. torch.bmm 1. 基本用法与示例 基本用法: torch.einsum(equation, *operands)equation: 一个字符串,定义了张量操作的模式。 使用逗号来分隔输入张量的索引,然后是一个箭头&#xff…

linux中dd命令以及如何测试读写速度

dd命令详解 dd命令是一个在Unix和类Unix系统中非常常用的命令行工具,它主要用于复制文件和转换文件数据。下面我会详细介绍一些dd命令的常见用法和功能: 基本语法 dd命令的基本语法如下: bash Copy Code dd [option]...主要选项和参数 if…

Data Mining2 复习笔记6 - Optimization Hyperparameter Tuning

6. Optimization & Hyperparameter Tuning Why Hyperparameter Tuning? Many learning algorithms for classification, regression, … Many of those have hyperparameters: k and distance function for k nearest neighbors, splitting and pruning options in decis…

力扣1712.将数组分成三个子数组的方案数

力扣1712.将数组分成三个子数组的方案数 确定左边界的值 然后二分求右边界的范围 右边界处的前缀和满足 2*s[i] < s[r] < (s[n] s[i]) / 2 int s[100010];const int N 1e97;class Solution {public:int waysToSplit(vector<int>& nums) {int n nums.siz…

Mac清洁神器CleanMyMac2024一键轻松解决电脑垃圾问题

【CleanMyMac】苹果mac电脑垃圾清理软件 大家好&#xff01;今天我要给大家种草一个超级好用的苹果mac电脑垃圾清理软件&#xff0c;那就是 CleanMyMac。相信很多人都遇到过电脑运行速度变慢、存储空间不足的问题&#xff0c;而这款软件就是解决这些问题的救星&#xff01;让我…