游乐游手机版
首页/AI教程/文章详情

服务器实习操作与训练内容详解

时间:2026-08-15 15:03
在服务器上使用PersonalAccessToken克隆GitLab数据集并清理安全痕迹。将SeaShips数据集从VOC格式转换为YOLO格式,包括坐标归一化公式与目录结构。利用RF-DETRMedium进行训练,监控进程与指标,并支持续训。记录AI辅助经验:注意安全、自行验证关键步骤、了解整体流程。

2026-07-30 训练记录 — SeaShips + RF-DETR

这是一篇个人学习与实操记录,当前主要用于整理 SeaShips 数据集处理与 RF-DETR 训练流程,暂时还没有形成特别成熟的结论或系统化观点。

实习·操作一些神秘的服务器和训练

不过,日拱一卒,功不唐捐。持续积累训练经验和数据处理细节,往往比一次性求全更重要。

1. Q:GitLab 克隆数据集到服务器

两个IP位于同一子网(.0/24)内,网络连通性正常,没有额外的链路问题。

由于 GitLab 已禁用密码登录,因此只能通过 Personal Access Token 进行认证。需要进入 /-/profile/personal_access_tokens 创建 token,并勾选 read_repository 权限即可满足数据集克隆需求。

执行 GitLab 克隆时,可以直接把 token 写入 URL,这样能够绕过 VS Code credential helper 带来的 socket 相关问题:

# token 直接嵌 URL,绕过 VS Code credential helper 的 socket 问题git -c credential.helper= clone 'https://用户名:token@/datasets/seaships_7000.git'

数据集克隆完成后,记得及时清理安全痕迹,避免 token 泄露:

# 1. 清 shell 历史history | grep 'token'history -d <行号># 2. 改 git remote(去掉 URL 里的 token)cd seaships_7000 && git remote -vgit remote set-url origin https:///datasets/seaships_7000.git

2. 数据集格式转换 — VOC → YOLO

SeaShips(7000) 数据集使用的是 Pascal VOC 标注格式,而 RF-DETR 训练通常要求采用 YOLO 格式,因此在模型训练前必须先完成数据集格式转换。

转换公式(VOC → YOLO)如下:

x_center = (xmin + xmax) / 2 / 图片宽y_center = (ymin + ymax) / 2 / 图片高width= (xmax - xmin) / 图片宽height = (ymax - ymin) / 图片高

YOLO 的 txt 标注文件每一行格式为:class_id x_center y_center width height,并且所有坐标值都需要归一化到 0-1 区间。

目录结构如下:

seaships_yolo/
├── data.yaml
├── train/images/ + labels/
├── valid/images/ + labels/  ← 注意 RF-DETR 要求 "valid" 不是 "val"
└── test/images/ + labels/

完成 VOC 转 YOLO 后,建议进行人工校验:抽取同一个 xml 文件和对应 txt 文件,手动计算标注框参数,确认转换结果正确无误,避免训练阶段因标签错误影响模型效果。

3. 训练

from rfdetr import RFDETRMediummodel = RFDETRMedium()# 权重自动下载到 ~/.roboflow/models/model.train(dataset_dir="/opt/datasets/seaships_yolo",epochs=100,batch_size=4,)model.sa ve("/opt/datasets/seaships_rfdetr_medium.pt")

在 RF-DETR 训练过程中,可以使用下面的命令持续监控训练进程、GPU 占用和关键指标:

nvidia-smi | grep python # 进程在不在tail -3 /opt/rf-detr/output/metrics.csv# 看 mAP

训练速度偏慢的主要原因是:DETR 系列目标检测模型通常比 YOLO 慢 3-5 倍,因为 Transformer 结构和匈牙利匹配本身就带来更大的计算开销;同时,如果服务器上还有 vLLM 或 Ollama 等服务运行,也会额外占用显存资源,进一步影响训练效率。

4. 续训

每个 epoch 都会自动保存 checkpoint 到 output/checkpoint_N.ckpt。如果训练中断,或者需要继续训练,只要加载最新的 checkpoint 即可恢复续训:

model.train(dataset_dir="/opt/datasets/seaships_yolo",epochs=100,batch_size=4,resume="/opt/rf-detr/output/checkpoint_19.ckpt",# 改成最新编号)

这里需要特别注意,参数名是 resume,而不是 ckpt_path,这一点在实际续训时很容易写错。

5. AI辅助经验

整个操作流程里,基本上是遇到问题就先问 AI 下一步应该怎么做,然后再结合实际环境逐步执行。回顾下来,有几点经验比较重要:第一,先确认是否存在风险以及如何规避,比如 token 泄露、命令历史清理、远程地址暴露等安全问题;第二,关键步骤一定要自己复核,例如数据集格式转换时对照 xml 和 txt 检查标注是否一致;第三,在正式训练前先把完整流程问清楚,包括数据准备、格式转换、训练、监控和续训,不要盲目只跟着“下一步”操作。

来源:https://juejin.cn/post/7667748470229286938
上一篇Java面试题:如何保证消息队列的顺序性 下一篇OpenClaw本地部署指南:异构设备张量并行与通信拓扑优化
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
CAD零基础入门教程:坐标输入、图层管理与基础绘图命令
AI教程 · 2026-09-01

CAD零基础入门教程:坐标输入、图层管理与基础绘图命令

本文面向CAD零基础学习者,系统讲解坐标输入、图层管理与基础绘图命令的核心用法。通过分步实操与常见问题排查,帮助新手建立精确绘图习惯,掌握规范出图的基础能力。

CAD从入门到项目交付:绘图、标注、图块与实战工作流
AI教程 · 2026-09-01

CAD从入门到项目交付:绘图、标注、图块与实战工作流

掌握CAD的核心在于建立“画得准、标得清、复用快、交付稳”的工作流。本文提供从环境设置、高频命令组合、标注规范、图块标准化到项目分阶段交付的完整路径,帮助初学者避免常见返工陷阱,独立完成可检查、可复用、可打印的工程图纸。

Claude Code 登录指南:个人、Teams 与企业账号区分与授权步骤
AI教程 · 2026-09-01

Claude Code 登录指南:个人、Teams 与企业账号区分与授权步骤

本文详细解析 Claude Code 登录前的账号类型区分方法,涵盖个人订阅、Teams 席位与企业 Enterprise 席位的授权路径差异。提供终端登录命令、环境变量排查及常见异常处理步骤,帮助用户快速完成正确授权并避免登录路径混淆。

Claude Code 文件修改前的权限模式配置与命令审批指南
AI教程 · 2026-09-01

Claude Code 文件修改前的权限模式配置与命令审批指南

本文详细介绍Claude Code在修改文件前的权限模式配置方法,包括defaultMode可选值、permissions allow与deny规则设置、多层级配置文件管理以及 status验证技巧,帮助开发者安全高效地使用AI编程助手。

Claude Code接入VS Code后先测扩展和终端命令
AI教程 · 2026-09-01

Claude Code接入VS Code后先测扩展和终端命令

在VS Code中接入Claude Code后,建议优先验证扩展面板与集成终端两条入口。本文提供标准检查顺序、关键命令与常见故障排查路径,帮助你快速确认环境就绪,避免后续开发受阻。