5,806
社区成员
@
在Faster R-CNN这一里程碑式的目标检测算法出现之前,尽管诸如R-CNN和Fast R-CNN等前代算法已经在目标检测领域取得了显著的进展和性能提升,但它们仍然面临着计算效率低下这一难以忽视的瓶颈问题。这些算法在生成候选区域(Region Proposals),即可能包含目标物体的图像子区域时,普遍依赖于传统的图像处理方法,例如Selective Search算法。然而,这一传统方法不仅计算耗时较长,成为了整个检测流程中的性能瓶颈,而且其处理流程与后续的深度神经网络训练过程难以有效融合,从而限制了整体检测效率的提升。
为了解决这一关键问题,Faster R-CNN算法应运而生,它创新性地引入了一个名为区域建议网络(Region Proposal Network, RPN)的全新组件。RPN能够高效地生成候选区域,并且与检测网络共享卷积特征,这一设计不仅显著减少了候选区域生成所需的时间,还使得整个检测流程更加紧凑和高效。通过RPN的引入,Faster R-CNN实现了候选区域的快速生成,同时保证了检测精度的提升,从而极大地推动了目标检测算法的发展,为后续的研究和应用奠定了坚实的基础。
训练Faster R-CNN这一先进的目标检测算法,是一个涉及多个精密步骤的复杂过程,这些步骤涵盖了从特征提取网络的预训练,到区域建议网络(RPN)的专门训练,再到整个检测网络的联合优化训练。而在测试阶段,Faster R-CNN则展现出了其高效处理输入图像的能力,能够迅速且准确地生成高质量的候选区域,并对这些区域进行精确的分类和边界框定位,从而实现了对目标物体的有效检测。
本文旨在深入而全面地探讨Faster R-CNN的训练与测试过程,从数据集的准备与预处理,到网络架构的详细解析,包括特征提取网络、RPN以及检测头的设计细节;再到训练策略的制定,如学习率的调整、损失函数的优化以及训练过程中的正则化方法等;最后到测试阶段的评估方法,如精度、召回率以及交并比(IoU)等关键指标的计算与分析。通过这一全面而细致的解析,本文旨在揭示Faster R-CNN这一经典算法的工作原理,探讨其性能优化的多种途径,并为读者在目标检测任务中实际应用Faster R-CNN提供有力的理论支持和实践指导。通过本文的学习,读者将能够深入理解Faster R-CNN的精髓所在,掌握其在实际应用中的关键技术和方法。
链接:https://mobaxterm.mobatek.net/download-home-edition.html
第一步:创建实例,选择 4090 显卡,并且下载私钥
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4f22a1640f654e9a88b03143a68262ba.png
进入创建页面后,首先在实例配置中选择付费类型,一般短期需求可以选择按量付费或者包日,长期需求可以选择包月套餐;其次选择单卡或多卡启动,然后选择需求的GPU型号,首次创建实例推荐选择:按量付费--GPU数量1--NVIDIA-GeForc-RTX-4090,该配置为60GB内存,24GB的显存。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/202ae995af124bdd9d56e49e8842dd23.png
继续往下翻,配置数据硬盘的大小,每个实例默认附带了50GB的数据硬盘,首次创建可以就选择默认大小50GB,可以看到,平台提供了一些基础镜像供快速启动,镜像中安装了对应的基础环境和框架,这里选择PyTorch1.13.1的框架启动。
点击创建密钥对,输入自定义的名称,然后选择自动创建并将创建好的私钥保存的自己电脑中并将后缀改为.pem,以便后续本地连接使用。
创建好密钥对后,选择刚刚创建好的密钥对,并点击立即创建,等待一段时间后即可启动成功!
DAMODEL(丹摩智算)还提供了数据上传功能,用户有20GB免费存储空间,该空间被挂载到实例的/root/shared-storage目录,跨实例共享。首先点击文件存储,点击上传文件。
然后选择本机待上传的文件/文件夹,上传时尽量保持该界面首页显示,等待上传成功后再进行其他操作。
创建好实例后,可以看到平台提供了在线访问实例的JupyterLab入口,JupyterLab是一个交互式的开发环境,具有灵活而强大的用户界面。用户可以使用它编写 notebook、操作终端、编辑 markdown 文本、打开交互模式、查看 csv 文件及图片等。
点击进入JupyterLab后,通常情况下,左侧文件资源管理器与右侧控制台默认显示的是/root/workspace下的文件资源
服务器各个路径具体意义如下:
/:系统盘,替换镜像,重置系统时系统盘数据都会重置。
/root/workspace:数据盘,支持扩容,保存镜像时此处数据不会重置。
/root/shared-storage:共享文件存储,可跨实例存储。
其他步骤与JupyterLab的使用流程一致,推荐参考:
官网教程--Jupyter Lab官方文档【英文】:https://jupyterlab.readthedocs.io/en/latest/
优质博客--Jupyter Lab操作指南【中文】:https://blog.csdn.net/qq_44275213/article/details/139971514
本章将演示说明如何在DAMODEL平台上找到实例的SSH访问信息,以及通过三种不同方法本地连接DAMODEL实例。
首先需要进入DAMODEL控制台复制SSH的访问链接,获取主机host以及端口号:
复制SSH登录指令
ssh -p 31729 root@gpu-s277r6fyqd.ssh.damodel.com
然后使用以下ssh命令连接服务器:
ssh -i <私钥文件名> -p <端口号> <用户名>@<host地址>
如果嫌每次需要载入密钥文件麻烦,可以将密钥设置为本地默认ssh密钥,首先编辑或创建~/.ssh/config文件(位于用户主目录下,Windows一般为C:\Users<你的用户名>.ssh\config)
并添加以下配置:
#Host {命名的服务器信息} #可以是任意值,仅在ssh生效,别名不限制。
#HostName {目标服务器IP}
#Port {目标服务器端口}
#User {目标服务器目标用户}
#IdentityFile {密钥文件的路径}
Host damodel1 #输入你想用的任意别名,使用空格分开
HostName gpu-s277r6fyqd.ssh.damodel.com #输入服务器Host
Port 31729 #输入服务器端口
User root
IdentityFile C:\Users\**\Desktop\ss\private_key.pem #输入密钥文件的路径
#注意结束加空行
之后,就可以直接在cmd输入ssh damodel1,直接完成服务器连接了。
首先打开MobaXterm软件,点击左上方Session按钮创建一个新的Session,并选择通过SSH连接登录。
然后将刚刚记录的主机host填入R额模特host当中,端口号填入Port中,配置基础的SHH设置,然后点击下方Adavanced SSH settings选择高级SSH设置,勾选使用私钥登录,并将1.1中与实例绑定过的私钥导入其中。
点击ok后,即可看到成功创建了session,输入刚刚记录的用户名root,0即可连接0成功。
显示如下界面后,即连接成功,后续就可以正常通过MobaXterm连接使用服务器了。