基于DAMODEL——Faster-RCNN 训练与测试指南

Faster-RCNN 训练与测试指南

前言

今天我们要来实现一个经典的目标检测模型:Faster-Rcnn。我们使用DAMODEL云平台来实现,这是个很强大的云端平台,功能众多,你可以投你所好去进行你想做的事情。

1. 环境与工具准备

1.1 远程连接工具:Mobaxterm

首先,你需要通过 Mobaxterm 来远程连接服务器,这是一个简单而功能强大的SSH远程连接工具。

安装步骤:

  1. 点击上方链接,下载并安装 Mobaxterm。

    image-20240924232649697
    速度可能会比较慢,我们稍微等待。

  2. 安装完成后,可以用它来登录云服务器。

1.2 获取源码

下载本文所用到的源码,并准备好以便后续操作。

点击此处下载源码:https://s3.damodel.com/damodel-openfile/mmdetection-3.3.0.zip


2. 配置 Faster-RCNN 环境并进行训练

2.1 云服务器平台设置

第一步:创建实例
  1. 在云服务器平台创建 GPU 实例,推荐使用 4090 显卡,确保有充足的计算能力。
    image-20240924233549593
    image-20240924233641399
  2. 下载并保存私钥文件,它将用于免密登录。
第二步:登录服务器
  1. 服务器创建成功后,复制 SSH 连接地址。
  2. 打开 Mobaxterm,选择 SSH 远程登录,并使用下载的私钥进行免密登录。
    image-20240924233800604
ssh -p 39763 root@cn-north-b.ssh.damodel.com

成功登录后,你将进入服务器的命令行界面。

image-20240924234026557

输入root再按回车即可登录。

2.2 配置 Faster-RCNN 环境

第一步:上传与解压代码
  1. 将下载的源码文件上传至服务器的 /root/workspace/ 目录。
  2. 使用如下命令解压文件:
unzip mmdetection-3.3.0.zip
第二步:安装依赖库

接下来,安装 Faster-RCNN 的所需环境。你需要依次运行以下命令:

# 安装mmcv包
pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.1/index.html -i https://mirrors.aliyun.com/pypi/simple/# 安装mmdetection
cd mmdetection-3.3.0
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install -v -e ./ -i https://pypi.tuna.tsinghua.edu.cn/simple/# 安装必要包
pip install numpy==1.24.4 setuptools==69.5.1 instaboostfast -i https://pypi.tuna.tsinghua.edu.cn/simple/# 安装全景分割依赖
cd panopticapi
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/
cd ..# 安装LVIS数据集依赖
cd lvis-api
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple/
cd ..# 安装albumentations依赖
pip install -r requirements/albu.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install mmengine -i https://pypi.tuna.tsinghua.edu.cn/simple/

image-20240924234850025

第三步:验证安装是否成功

运行测试脚本,确保所有环境安装完毕:

python 1.py

2.3 数据集简介

COCOmini 数据集是一种常用于目标检测、实例分割、关键点检测等计算机视觉任务的数据集。它包含以下特点:

  • 多标签分类:每个图像包含多个对象类别,非常适合多对象环境的研究。
  • 多样化场景:涵盖室内外、城市和自然等不同场景,提供丰富的视觉样本。
  • 详尽的注释:每个对象实例都包含精确的边界框、分割掩码和关键点注释。

你可以使用 COCO 数据集进行训练,模型将从中学习多样化的物体特征。


2.4 开始训练

Faster-RCNN 的代码已经调试完成,你只需运行以下命令,即可开始训练模型:

python ./tools/train.py ./checkpoints/faster-rcnn_r50_fpn_1x_coco.py
# 他会自动下载权重,并开始训练,耐心等待即可。

该命令会自动下载预训练权重,开始模型训练。请耐心等待,训练时间视硬件配置而定。

image-20240924234946896


2.5 测试模型并保存结果

经过训练后,你可以使用训练好的模型权重进行数据集预测,以下是测试步骤:

python tools/test.py ./checkpoints/faster-rcnn_r50_fpn_1x_coco.py ./checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth --show-dir /root/workspace/mmdetection-3.3.0/result/

测试结果将会保存在指定目录中,包含原始物体位置和模型预测的对比。

image-20240924235005885


2.6 保存实验数据与下载

为了保存训练环境和结果数据,你可以创建一个镜像,这样下次使用时不需要重新配置环境。具体步骤如下:

  1. 前往控制台,选择GPU云实例
  2. 点击保存镜像,保存当前的实验环境和数据。

以上就是 Faster-RCNN 训练与测试的完整流程。通过上述步骤,你可以顺利完成云端训练环境的搭建、模型训练与测试,并保存实验结果方便后续使用。

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

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

相关文章

docker搭建个人网盘,支持多种格式,还能画图,一键部署

1&#xff09;效果 2&#xff09;步骤 2.1&#xff09;docker安装 docker脚本 bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrorsmain/DockerInstallation.sh)docker-compose脚本 curl -L "https://github.com/docker/compose/releases/late…

①无需编程 独立通道 Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器

Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器https://item.taobao.com/item.htm?ftt&id743840591638 EtherNet/IP 串口网关 EtherNet/IP 转 RS485 型号 2路总线EIP网关 MS-A1-2021 4路总线EIP网关 MS-A1-2041 4路总线EIP网关&#xff08;双网口&am…

轻量型js聊天框架Botui(附示例源码)

最近在捣鼓typecho博客&#xff0c;无意中发现一个好玩的小插件botui&#xff0c;可以实现简单的自定义聊天对话&#xff0c;因此通过"抽丝剥茧“提取出来一个简单的示例代码&#xff0c;就是一些js&#xff0c;css之类的。非常适合移植作为博客插件。 1.Botui介绍 官方文…

记录linux环境下搭建本地MQTT服务器实现mqtt的ssl加密通讯

1、ubuntu安装mosquitto sudo apt-get update//安装服务端 sudo apt-get install mosquitto//安装客户端 sudo apt-get install mosquitto-clients 2、安装openssl 3、mqtts/tls加密传输 mosquitto原生支持了TLS加密&#xff0c;TLS&#xff08;传输层安全&#xff09;是SSL&…

怎么录制游戏视频?精选5款游戏录屏软件

对于热爱游戏的你来说&#xff0c;记录游戏中的精彩瞬间并分享给朋友或粉丝&#xff0c;无疑是一种享受。然而&#xff0c;在众多录屏软件中&#xff0c;如何选择最适合你的那一款&#xff1f;今天&#xff0c;我们就为大家精选了五款游戏录屏软件&#xff0c;需要的朋友快来选…

编译原理3——词法分析

3.1词法分析器的作用 词法分析是编译的第一阶段。词法分析器的主要任务是读入源程序的输入字符、将它们组成词素&#xff0c;生成并输出一个词法单元序列&#xff0c;每个词法单元对应于一个词素。 但在这个过程中&#xff0c;词法分析器还要和语法分析器进行交互。交互&…

Redis: 特点,优势,与其他产品的区别以及高并发原理

入门Redis概述 1 &#xff09;选择Redis是因为其高性能 因为 Redis 它数据存储的机制是存在内存中的&#xff0c;减少了传统关系数据库的磁盘IO它是单线程的保证了原子性&#xff0c;它还提供了事务&#xff0c;锁等相关的机制 2 &#xff09;Redis 环境安装配置 linux 或 d…

学习制作第一个LC带通滤波器的初步认识与总结

作为业余爱好&#xff0c;之前没有接触过射频方面的知识。 收音机&#xff0c;fm调频话筒等等想必是很多人都想制作的一个入门制作。但是这个里面的振荡&#xff0c;谐振&#xff0c;滤波&#xff0c;虽然在电子报上面频频看见&#xff0c;对于普通爱好者&#xff0c;如果没有…

在视频上绘制区域:使用Vue和JavaScript实现交互式画布

在数字时代&#xff0c;交互式媒体内容的创建和消费变得越来越普遍。特别是视频内容&#xff0c;它不仅提供了视觉信息&#xff0c;还允许用户与之互动&#xff0c;从而增强了用户体验。本文将介绍如何使用Vue.js框架和JavaScript创建一个交互式组件&#xff0c;该组件允许用户…

【Docker】Docker快速入门

Docker学习笔记 一、Docker概述 为什么会出现Docker? 安卓开发流程&#xff1a;apk(java开发的)发布到应用商店&#xff0c;用户安装apk即可使用。 后端开发流程&#xff1a; jar(java开发的)带上环境发布到Docker仓库&#xff0c;用户从Docker仓库拉取镜像并部署。 总结…

Android 如何实现搜索功能:本地搜索?数据模型如何设计?数据如何展示和保存?

目录 效果图为什么需要搜索功能如何设计搜索本地的功能&#xff0c;如何维护呢&#xff1f;总结 一、效果图 二、为什么需要搜索功能 找一个选项&#xff0c;需要花非常多的时间&#xff0c;并且每次都需要指导客户在哪里&#xff0c;现在只要让他们搜索一下就可以。这也是模…

低代码平台后端搭建-阶段完结

前言 最近又要开始为跳槽做准备了&#xff0c;发现还是写博客学的效率高点&#xff0c;在总结其他技术栈之前准备先把这个专题小完结一波。在这一篇中我又试着添加了一些实际项目中可能会用到的功能点&#xff0c;用来验证这个平台的扩展性&#xff0c;以及总结一些学过的知识。…

数据库数据恢复—Oracle报错“需要更多的恢复来保持一致性”的数据恢复案例

Oracle数据库故障&检测&#xff1a; 打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性&#xff0c;数据库无法打开”。 数据库没有备份&#xff0c;无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件&#xff0c;…

大小端字节序 和 内存高低地址顺序

目录 1. 大小端字节序 1.1 什么是大小端字节序&#xff1f; 1.2 为什么有大小端字节序? 1.3 习题&#xff1a;用程序结果判断大端小端 2. 各种易混淆的高低地址顺序 2.1 监视窗口的地址表示【计算机标准展示方式】 2.2 横向地址表示 2.3 一个字节 与 多个字节 的地址…

C语言 | Leetcode C语言题解之第416题分割等和子集

题目&#xff1a; 题解&#xff1a; bool canPartition(int* nums, int numsSize) {if (numsSize < 2) {return false;}int sum 0, maxNum 0;for (int i 0; i < numsSize; i) {sum nums[i];maxNum fmax(maxNum, nums[i]);}if (sum & 1) {return false;}int tar…

《程序猿之设计模式实战 · 适配器模式》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

springboot文件上传+拦截器

springboot文件上传拦截器 文章目录 springboot文件上传拦截器1.静态资源访问静态目录&#xff1a; 2.文件上传文件上传配置文件书写文件上传代码 3.拦截器1.初始化拦截器2.初始化配置文件 1.静态资源访问 静态目录&#xff1a; 这里的static就是spring boot默认存放静态资源的…

ZYNQ FPGA自学笔记~操作PLL

一 时钟缓冲器、管理和路由 垂直时钟中心&#xff08;clock backbone&#xff09;将设备分为相邻的左侧和右侧区域&#xff0c;水平中心线将设备分为顶部和底部两侧。clock backbone中的资源镜像到水平相邻区域的两侧&#xff0c;从而将某些时钟资源扩展到水平相邻区域。BUFG不…

考研数据结构——C语言实现小顶堆

数组初始化&#xff1a; 首先&#xff0c;我们有一个整数数组arr&#xff0c;里面包含了一系列需要排序的数字。数组的长度n是通过对数组arr的总字节大小除以单个元素的字节大小得到的。 小顶堆调整函数&#xff1a; adjustHeapMin函数的作用是将数组中的元素从某个节点向下调整…

[001-02-001].第2节:java开发环境搭建

4.1.书籍推荐&#xff1a; 4.2.人机交互方式 1.图形化界面(Graphical User Interface GUI)这种方式简单直观&#xff0c;使用者易于接受&#xff0c;容易上手操作2.命令行方式(Command Line Interface CLI)&#xff1a;需要有一个控制台&#xff0c;输入特定的指令&#xff0c…