Neptune实验追踪
Neptune 是专为频繁运行实验的团队打造的MLOps元数据存储库。它为您提供统一平台,可集中记录、存储、展示、整理、对比和查询所有模型构建元数据。
Ultralytics YOLO11 与Neptune YOLO11 Neptune 实验追踪流程。通过此集成,您无需编写自定义日志记录代码,即可自动记录训练指标、可视化模型预测结果并存储模型工件。

主要功能
- 自动化日志记录:自动记录关键训练指标,如箱损失、分类损失和 mAP。
- 图像可视化:在Neptune 直接查看训练马赛克图和验证预测结果。
- 模型检查点上传并版本控制您训练好的模型权重(
best.pt在训练结束时自动执行。 - 超参数追踪:记录所有配置参数,确保实验的完全可重复性。
- 交互式图表:可视化混淆矩阵和精确率-召回率曲线,用于分析模型性能。
安装
要Neptune Ultralytics Neptune 使用,您需要安装 neptune 客户包连同 ultralytics.
安装
# Install the required packages
pip install ultralytics neptune
# Enable Neptune integration in Ultralytics settings
yolo settings neptune=True
配置
在开始训练之前,您需要将本地环境连接至Neptune 。您需要从Neptune 获取API密钥和项目名称。
1. 获取您的凭证
- 登录Neptune.ai。
- 创建新项目(或选择现有项目)。
- 前往您的用户菜单获取API令牌。
2. 设置环境变量
处理凭据最安全的方式是通过环境变量。请注意,Ultralytics Neptune 会读取YOLO project 参数且不使用 NEPTUNE_PROJECT传递完整Neptune (例如: workspace/name) 通过 project= 在您的训练命令中;Neptune 尝试使用字面默认值 "Ultralytics" 运行将失败。
export NEPTUNE_API_TOKEN="your_long_api_token_here" # required
$Env:NEPTUNE_API_TOKEN = "your_long_api_token_here" # required
import os
os.environ["NEPTUNE_API_TOKEN"] = "your_long_api_token_here"
os.environ["NEPTUNE_PROJECT"] = "your_workspace/your_project"
用法
配置完成后,即可开始训练YOLO11 。Neptune 运行时, neptune 该软件包已安装,且在设置中已启用集成功能。
训练示例
YOLO11 Neptune 训练YOLO11
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Train the model
# Pass the Neptune project slug as the 'project' argument (workspace/name)
results = model.train(data="coco8.yaml", epochs=10, project="my-workspace/my-project", name="experiment-1")
# Train via CLI
# project must be the Neptune slug (workspace/name); otherwise run creation will fail
yolo train data=coco8.yaml epochs=10 project=my-workspace/my-project name=experiment-1
理解集成
下图Ultralytics 如何Neptune 记录各种工件和指标。
graph LR
A[YOLO Training Loop] --> B{Neptune Callback}
B -->|Log Scalars| C[Loss, mAP, LR]
B -->|Log Images| D[Mosaics, Preds]
B -->|Log Artifacts| E[Model Weights]
B -->|Log Metadata| F[Hyperparameters]
C --> G[Neptune Server]
D --> G
E --> G
F --> G
G --> H[Neptune Web Dashboard]
记录了什么?
当您运行训练命令Neptune 会自动捕获运行中的以下数据结构:
- 配置/超参数:所有训练参数( epoch、lr0、优化器等)均记录在配置部分下。
- 配置/模型:模型的架构与定义。
- 指标:
- 训练:
box_loss,cls_loss,dfl_loss,lr(学习率) - 指标:
precision,recall,mAP50,mAP50-95.
- 训练:
- 图像:
Mosaic训练批次展示数据增强效果。Validation: 验证数据上的真实标签与模型预测结果。Plots混淆矩阵,精确率-召回率曲线。
- 重量最终训练好的模型(
best.pt)被上传至weightsNeptune 中的文件夹。
高级用法
组织跑步活动
您可以使用Ultralytics project 和 name 参数用于在Neptune组织您的运行。
project:必须是Neptune 标记workspace/name; 这是回调函数传递的参数neptune.init_run.name作为特定运行次数的标识符。
自定义日志记录
若需在自动日志记录之外添加自定义指标日志,可访问Neptune 实例。请注意,Ultralytics 在内部处理运行生命周期,您需要修改训练器逻辑或创建自定义回调函数才能访问特定运行对象。
常见问题
如何禁Neptune ?
如果你已安装 neptune 但若需禁用特定会话或全局的日志记录功能,可修改YOLO 。
# Disable Neptune integration
yolo settings neptune=False
我的图片无法上传。怎么回事?
请确保您的网络允许连接Neptune服务器。此外,图像日志记录通常在特定时间间隔(例如 epoch 结束或训练结束时)进行。若您使用 Ctrl+C某些最终输出结果(如混淆矩阵或最佳模型权重)可能无法上传。
我能否登录到Neptune ?
当前集成会为每次训练会话自动创建新的运行实例。若要继续记录至现有运行实例,通常Python 中手动处理Neptune ,这超出了自动集成的范围。Ultralytics 本地Ultralytics 训练Ultralytics ,该功能Neptune 创建新的运行Neptune track 。
Neptune,我在哪里可以找到模型权重?
在您的Neptune ,导航至 文物 或 所有元数据 部分。您将发现一个 weights 包含您的文件夹 best.pt 文件,可下载用于部署。