Перейти к содержанию

Приобретение Neptune и прекращение поддержки SaaS

Neptune заключила соглашение о приобретении компанией OpenAI и прекратит поддержку своего размещенного (SaaS) сервиса после переходного периода, заканчивающегося 4 марта 2026 года. Ознакомьтесь с официальным объявлением и спланируйте миграции или экспорт соответствующим образом.

Отслеживание экспериментов с Neptune

Neptune — это хранилище метаданных для MLOps, созданное для команд, проводящих множество экспериментов. Оно предоставляет единое место для логирования, хранения, отображения, организации, сравнения и запроса всех метаданных, связанных с построением ваших моделей.

Ultralytics YOLO26 интегрируется с Neptune для оптимизации отслеживания экспериментов. Эта интеграция позволяет автоматически логировать метрики обучения, визуализировать предсказания модели и хранить артефакты модели без написания пользовательского кода логирования.

Обзор панели управления Neptune.ai

Основные характеристики

  • Автоматическое логирование: Автоматически регистрируйте ключевые метрики обучения, такие как потери ограничивающих рамок (box loss), потери классификации (classification loss) и mAP.
  • Визуализация изображений: Просматривайте обучающие мозаики и предсказания валидации непосредственно на панели управления Neptune.
  • Контрольные точки модели: Загружайте и контролируйте версии весов вашей обученной модели (best.pt) автоматически по завершении обучения.
  • Трекинг гиперпараметров: Регистрируйте все параметры конфигурации для обеспечения полной воспроизводимости ваших экспериментов.
  • Интерактивные графики: Визуализируйте матрицы ошибок и кривые точности-полноты для анализа производительности модели.

Установка

Для использования Neptune с Ultralytics вам потребуется установить пакет neptune клиента вместе с ultralytics.

Установка

# Install the required packages
pip install ultralytics neptune

# Enable Neptune integration in Ultralytics settings
yolo settings neptune=True

Конфигурация

Перед началом обучения необходимо подключить локальную среду к вашему проекту Neptune. Вам понадобятся токен API и имя проекта из вашей панели управления Neptune.

1. Получите учетные данные

  1. Войдите на Neptune.ai.
  2. Создайте новый проект (или выберите существующий).
  3. Перейдите в пользовательское меню и получите свой токен API.

2. Установите переменные среды

Самый безопасный способ обработки учетных данных — через переменные среды. Обратите внимание, что колбэк Ultralytics Neptune считывает аргумент YOLO project и не использует NEPTUNE_PROJECT. 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"

Использование

После настройки вы можете начать обучение своих моделей YOLO26. Интеграция с Neptune работает автоматически, когда neptune установлен и интеграция включена в настройках.

Пример обучения

Обучение YOLO26 с логированием в Neptune

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.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 автоматически фиксирует следующую структуру данных в вашем запуске:

  1. Конфигурация/Гиперпараметры: Все аргументы обучения (эпохи, lr0, оптимизатор и т.д.) логируются в разделе «Конфигурация».
  2. Конфигурация/Модель: Архитектура и определение модели.
  3. Метрики:
    • Обучение: box_loss, cls_loss, dfl_loss, lr (скорость обучения).
    • Метрики: precision, recall, mAP50, mAP50-95.
  4. Изображения:
    • Mosaic: Пакеты обучения, демонстрирующие аугментацию данных.
    • Validation: Истинные метки и предсказания модели на валидационных данных.
    • Plots: Матрицы ошибок, кривые Precision-Recall.
  5. Веса: Финальная обученная модель (best.pt) загружается в weights папку в рамках выполнения Neptune.

Расширенное использование

Организация запусков

Вы можете использовать стандартные 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. Кроме того, логирование изображений обычно происходит через определенные интервалы (например, в конце эпох или в конце обучения). Если вы прерываете обучение досрочно, используя Ctrl+C, некоторые финальные артефакты, такие как матрицы ошибок или веса лучшей модели, могут быть не загружены.

Могу ли я выполнять логирование в конкретный ID запуска Neptune?

Текущая интеграция автоматически создает новый запуск для каждой сессии обучения. Чтобы возобновить логирование в существующий запуск, вам обычно потребуется вручную инициализировать Neptune в коде python, что выходит за рамки автоматической интеграции. Однако Ultralytics поддерживает возобновление обучения локально, что создаст новый запуск в Neptune для отслеживания возобновленных эпох.

Где я могу найти веса модели в Neptune?

В вашей панели управления Neptune перейдите в раздел Артефакты или Все метаданные раздел. Вы найдете weights папку, содержащую ваш best.pt файл, который вы можете скачать для развертывания.



📅 Создано 1 месяц назад ✏️ Обновлено 4 дней назад
glenn-jocher

Комментарии