基于丹摩智算平台-手把手拿下经典目标检测模型 Faster-Rcnn

news2024/9/23 17:26:43

文章目录

    • 1. 前言
      • 1. 1 丹摩智算平台
      • 1.2 经典目标检测模型 Faster-Rcnn
    • 2. 前置准备
      • 2.1 WindTerm(远程连接服务器)
      • 2.2 项目源码
    • 3. 服务器平台配置
      • 3.1 创建实例
      • 3.2 远程链接
    • 4. Faster-rcnn 的环境配置
      • 4.1 上传文件,解压
      • 4.2 安装所需环境
    • 5. 数据集简介
    • 6. 开始训练
    • 7. 测试数据保存
    • 8. 训练结果导出
    • 9. 结语

1. 前言

1. 1 丹摩智算平台

DAMODEL(丹摩智算)是专为 AI 打造的智算云,致力于提供丰富的算力资源与基础设施助力 AI 应用的开发、训练、部署。

image-20240923113304837

平台特点:

  • 💡 超友好!配备 124G 大内存和 100G 大空间系统盘,一键部署,三秒启动,让 AI 开发从未如此简单!
  • 💡 资源多!从入门级到专业级 GPU 全覆盖,无论初级开发还是高阶应用,你的需求,我们统统 Cover!
  • 💡 性能强!自建 IDC,全新 GPU,每一位开发者都能体验到顶级的计算性能和专属服务,大平台值得信赖!
  • 💡 超实惠!超低价格体验优质算力服务,注册即送优惠券!还有各类社区优惠活动,羊毛薅不停!

1.2 经典目标检测模型 Faster-Rcnn

Faster RCNN是two-stage目标检测模型中的典型代表,已经是多年的老模型

Fast R-CNN的工作流程是先通过选择性搜索(Selective Search)算法等方法生成候选框,这些候选框作为可能包含目标的区域。接着,整个图像与其对应的候选框一起输入到CNN中。CNN在前向传播过程中同时完成了特征提取、边界框分类和边界框回归三个任务。通过将这三个任务融合到同一个CNN中,Fast R-CNN大大提高了目标检测的效率和准确性,不再需要对每个候选框单独进行特征提取和分类,从而加快了检测速度。

fast-RCNN算法的3个步骤:

1.一张图像生成1K~2K个候选区域(使用Selective Search方法)

2.将图像输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵

3.将每个特征矩阵通过ROI pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果

2. 前置准备

2.1 WindTerm(远程连接服务器)

WindTerm SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux - WindTerm官网

image-20240923144116177

2.2 项目源码

下载地址:点击下载源码

3. 服务器平台配置

这里服务器平台我选择的是丹摩智算的平台,大家可以注册使用体验一下 丹摩智算平台

3.1 创建实例

  1. 创建实例,选择 4090 显卡,并且下载私钥

image-20240923114912171

image-20240923115204325

选择4090显卡,24g显存,124g内存,磁盘150g即可

  1. 镜像选择:pytorch 2.1.2,python 3.10

image-20240923115357419

  1. 创建密钥对

image-20240923115603704

密钥对创建后记得保存文件,用于后续免密链接登录,也可以不记录

  1. 完成创建

完善相关配置后,点击创建,等待创建完成

image-20240923115746105

3.2 远程链接

  1. 复制访问链接

image-20240923141817790

ssh -p 42894 root@cn-north-b.ssh.damodel.com
HFyoNrTei9
  1. WindTerm链接

回话-新建回话-根据链接完善主机,端口-输入密码

image-20240923144322914

  1. 连接成功

显示如下界面我们就成功了!

image-20240923144448910

4. Faster-rcnn 的环境配置

4.1 上传文件,解压

将我们的代码文件拖入/root/workspace/目录下,然后解压

image-20240923145002864

解压文件

unzip mmdetection-3.3.0.zip

image-20240923145018116

4.2 安装所需环境

# 安装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-3.3.0
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 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install setuptools==69.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install instaboostfast -i https://pypi.tuna.tsinghua.edu.cn/simple/

# 安装全景分割依赖panopticapi
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/

逐个处理,保证环境配置正确

环境安装完成,简单测试

python 1.py

image-20240923145441626

5. 数据集简介

COCOmini 数据集是一个用于各种计算机视觉任务的数据集,包括但不限于目标检测、实例分割、关键点检测、和图像分类。

特点与组成部分:

  • 多标签:不同于单一标签的数据集,COCO 中的图像通常包含多个不同的对象类别,这使得它非常适合上下文理解的研究。
  • 多样性和复杂性:图像涵盖了广泛的生活场景,从室内到室外,从城市到自然环境,提供了丰富的视觉多样性。
  • 详尽的注释:每个对象实例都有精确的边界框和分割掩码,以及关键点注释对于人体类别的对象。
  • 80 个对象类别:COCO 包含了 80 种常见的物体类别,如人、动物、交通工具、家具等。

000000009590

6. 开始训练

# 为了方便上手,因此我们的代码都是调试好的,因此可以直接输入命令进行训练

python ./tools/train.py ./checkpoints/faster-rcnn_r50_fpn_1x_coco.py

# 他会自动下载权重,并开始训练,耐心等待即可~~~
  1. 输入命令,开始程序

image-20240923145822550

  1. 自行下载,数据准备

image-20240923145938473

  1. 数据训练中

image-20240923150607213

7. 测试数据保存

# 经过训练,我们得到pth权重,通过pth权重预测我们的数据集,左侧为真实物体的位置,右侧为预测结果。
# 我们这里直接使用训练好的权重进行预测

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/

训练完成,数据保存result文件夹

image-20240923151031838

8. 训练结果导出

选择result文件夹,导出本地文件

下载传输速度也是非常可观的

image-20240923151201478

训练结果展示:

image-20240923151314346

image-20240923151344834

image-20240923151419045

9. 结语

前往控制台-GPU云实例,保存镜像,这样我们可以下次使用时省去配置环境的过程。

image-20240923151517309

整体体验下来,我的使用感受还是很好的,有以下个人感受

  1. 收费较低,目前优惠力度很大,学生福利够给力
  2. 性能强劲,训练速度很快,响应快捷
  3. 官方界面整洁OK,感官不错
  4. 售后保证,有问题联系官方及时反馈

大家想做科研训练,需要算力可以考虑一下:丹摩智算

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

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

相关文章

在Windows系统上安装的 zstd C++ 库

在Windows系统上安装的 zstd C 库 项目地址:安装步骤步骤一步骤二 效果 项目地址: https://github.com/facebook/zstd 经过观察发现,这个项目没有CMakeLists.txt,只有Makefile,但是Makefile在windows系统下没有什么用, 所以说,常规的方式安装不可取了 安装步骤 步骤一 往下…

idea上使用tomcat运行web项目

idea上使用tomcat运行web项目 首先需要安装tomcat,可以查看我上一篇文章 如果你已经配置tomcat,这里不需要改动。如果未配置,需要在这里选择你tomcat目录 修改下面的上下文,也就是网页上访问时http://localhost:8080/后面拼…

算数运算之短路

c语言的表达式是从左往右求值的,我们在面对&&(按位与)和||(按位或)我们要根据与还有或的特性在判断是否能够使句子能够运行下去,就举个简单的例子 if(month 12 || month1 || month 2) { printf…

LeetCode 2374.边积分最高的节点:模拟

【LetMeFly】2374.边积分最高的节点:模拟 力扣题目链接:https://leetcode.cn/problems/node-with-highest-edge-score/ 给你一个有向图,图中有 n 个节点,节点编号从 0 到 n - 1 ,其中每个节点都 恰有一条 出边。 图…

英伟达开源 NVLM 1.0 引领多模态 AI 变革

新闻 NVLM 1.0 是由英伟达(Nvidia)最新推出的一系列前沿级别的多模态大型语言模型(MLLM),这些模型在视觉-语言任务上取得了与领先专有模型(例如 GPT-4o)和开放访问模型(例如 Llama 3…

[干货] [非基础警告] Unity 发布-订阅模式下的事件中心设计

本文师承于唐老师,但是修改了一些代码,采用更加方便理解的方式设计 1.什么是事件中心 2.可以比喻成冒险者工会的任务板子 任务板子上面有发布任务和任务完成两种基础情况 2.1 发布任务 来个冒险者发布一个任务,就执行Pulishtask方法 这…

【软件工程】状态转换图 其他图形工具

状态转换图 一、定义 二、符号表示 其他图形工具 一、层次方框图 二、Warmer图 三、IPO图 例题 选择题

【k8s】:DevOps 模式详解

1.什么是DevOps模式? DevOps 是当下非常火爆的一个概念,受到了很多互联网巨头的推崇。那么什么是 DevOps?它的全称是:集成开发与运维。至于它到底是干什么用的,为什么现在这么火爆,还得从源头说起。 1.1 …

无线感知会议系列【4】【基于WiFi和4G/5G的非接触无线感知:挑战、理论和应用-2】

前言: 本篇重点分享一下该论文 《Human Respiration Detection with Commodity Wifi Devices: Do User Location and Body Orientation Matter》 接 2020年北京智源大会 张大庆老师的一个报告 参考: https://blog.csdn.net/chengxf2/article/detai…

17.2 ksm源码讲解

本节重点介绍 : k8s资源对象的 buildStores构造函数注入MetricFamiliesk8s client-go 之 Reflector listAndWatch 方法watchHandler 监听更新,调用add等action 架构图总结 项目地址 地址 go get go get -v -d k8s.io/kube-state-metrics/v2v2.1.1源码分析 m…

uniapp微信小程序用户授权方法

效果 步骤 1&#xff09;div标签 <button type"primary" class"btn-login" click"getUserInfo">一键登录</button>2&#xff09;js方法 methods: {getUserInfo() {console.log("aaaa")uni.getUserProfile({desc: Wexin, …

Python画笔案例-056 绘制正方形金字塔

1、绘制正方形金字塔 通过 python 的turtle 库绘制 正方形金字塔,如下图: 2、实现代码 绘制正方形金字塔,以下为实现代码: """正方形金字塔.py """ import turtledef draw_square(length):for _ in

【Linux】yum、vim、gcc使用(超详细)

目录 yum 安装软件 卸载软件 查看安装包 安装一下好玩的命令 vim vim基本操作 模式切换 命令集 vim批量注释 vim配置 gcc 函数库 小知识点&#xff1a; Linux中常见的软件安装方式 --------- 下载&&安装 a、yum/apt b、rpm安装包安装 c、源码安装 y…

SDK(1.1note)

什么是SDK 控制台程序&#xff08;Console User interface&#xff09;CUI 对于控制台程序&#xff0c;通用&#xff0c;也就是平台无关 图形界面系统 可是如果你想要播放一个音乐&#xff0c;C语言有嘛&#xff1f; 所以需要平台开发&#xff0c;不可以移植性 平台会提供…

摒弃“流量思维”,以精准流量驱动企业发展——基于开源 AI 智能名片、链动 2+1 模式及 O2O 商城小程序的思考

摘要&#xff1a;本文深入探讨在当前竞争激烈的营销环境下&#xff0c;摒弃“流量思维”的紧迫性与必要性。强调做内容营销不能仅仅局限于发文案&#xff0c;而应摆脱一味追求阅读量、推荐量和粉丝数的误区&#xff0c;聚焦于获取精准流量。结合开源 AI 智能名片、链动 21 模式…

如何解决npm下载Puppeteer卡死的问题

亲测有效 export PUPPETEER_DOWNLOAD_BASE_URLhttps://cdn.npmmirror.com/binaries/chrome-for-testingnpm install https://github.com/cnpm/binary-mirror-config/pull/47https://github.com/cnpm/binary-mirror-config/pull/47 PS: 最开始看了下面这两个链接&#xff0c…

网络安全-长亭雷池的sql绕过

一、环境 雷池官网docker安装我的版本是 看官网介绍主要防御top10 二、讲解 我这里只描述通用型绕过&#xff0c;对于事件型不多描述&#xff0c;因为通用型的绕过是通杀的&#xff0c;差异化绕过 正常来说我们是因为没有一个很好的过滤所以造成第11关靶场的绕过 但是现在有了…

Stable Diffusion进阶篇:模型训练(附秋叶模型训练器)

前言 今天就来学习下Stable Diffusion关于微调训练方面的知识点。 今天没多少废话&#xff0c;因为我下午要去玩PTCG&#xff01;让我们冲冲冲 整理和输出教程属实不易&#xff0c;觉得这篇教程对你有所帮助的话&#xff0c;可以点击&#x1f447;二维码领取资料&#x1f618…

k8s介绍-搭建k8s

官网&#xff1a;https://kubernetes.io/ 应用部署方式演变 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其他技术的参与 缺点&#xff1a;不能为应用程序定义资源使用边界&#xff0c;很难合理地分配计…

Active Directory 实验室设置第二部分- 添加数据到AD域

在之前的文章中&#xff0c;我们已经讨论了AD森林的安装和AD基础知识。在这篇文章中&#xff0c;让我们开始使用 AD 对象&#xff08;如用户对象、计算机对象、组对象、网络共享等&#xff09;填充 AD 环境&#xff0c;以及计算机如何加入域。 #1、添加用户对象 可以使用GUI、…