استحواذ Neptune وإيقاف SaaS
أبرمت Neptune اتفاقية للاستحواذ عليها من قبل OpenAI وستقوم بإيقاف خدمتها المستضافة (SaaS) بعد فترة انتقالية تنتهي في 4 مارس 2026. راجع الإعلان الرسمي وخطط لعمليات الترحيل أو التصدير وفقًا لذلك.
تتبع التجارب مع Neptune
Neptune هو مخزن بيانات وصفية لعمليات تعلم الآلة (MLOps)، مصمم للفرق التي تجري الكثير من التجارب. يوفر لك مكانًا واحدًا لتسجيل وتخزين وعرض وتنظيم ومقارنة والاستعلام عن جميع البيانات الوصفية الخاصة ببناء نماذجك.
تتكامل Ultralytics YOLO26 مع Neptune لتبسيط تتبع التجارب. يتيح لك هذا التكامل تسجيل مقاييس التدريب تلقائيًا، وتصور تنبؤات النموذج، وتخزين مخرجات النموذج دون الحاجة لكتابة تعليمات برمجية مخصصة للتسجيل.

الميزات الرئيسية
- التسجيل التلقائي: تسجيل مقاييس التدريب الرئيسية تلقائيًا مثل خسارة الصندوق (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. احصل على بيانات الاعتماد الخاصة بك
- سجل الدخول إلى Neptune.ai.
- أنشئ مشروعًا جديدًا (أو اختر مشروعًا موجودًا).
- انتقل إلى قائمة المستخدم الخاصة بك واحصل على رمز API الخاص بك.
2. تعيين متغيرات البيئة
الطريقة الأكثر أمانًا للتعامل مع بيانات الاعتماد هي عبر متغيرات البيئة. لاحظ أن دالة رد الاتصال (callback) الخاصة بـ 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"
الاستخدام
بمجرد التكوين، يمكنك البدء في تدريب نماذج 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 تلقائيًا بنية البيانات التالية في تشغيلك:
- التكوين/المعلمات الفائقة: يتم تسجيل جميع وسائط التدريب (العصور، lr0، المحسّن، إلخ) ضمن قسم التكوين.
- التكوين/النموذج: بنية النموذج وتعريفه.
- مقاييس (Metrics):
- تدريب:
box_loss,cls_loss,dfl_loss,lr(معدل التعلم). - مقاييس (Metrics):
precision,recall,mAP50,mAP50-95.
- تدريب:
- الصور:
Mosaic: دفعات التدريب التي تظهر زيادة البيانات.Validation: تسميات الحقيقة الأساسية وتوقعات النموذج على بيانات التحقق.Plots: مصفوفات الارتباك، ومنحنيات الدقة-الاستدعاء.
- الأوزان: النموذج المدرب النهائي (
best.pt) يتم تحميله إلىweightsالمجلد في تشغيل Neptune.
الاستخدام المتقدم
تنظيم التشغيلات
يمكنك استخدام وسائط Ultralytics القياسية project و name لتنظيم عمليات التشغيل الخاصة بك في Neptune.
project: يجب أن يكون معرف مشروع Neptune (slug)workspace/name; هذا ما يمرره الاستدعاء إلىneptune.init_run.name: يعمل كمعرف للتشغيل المحدد.
التسجيل المخصص
إذا كنت بحاجة إلى تسجيل مقاييس مخصصة إضافية إلى جانب التسجيل التلقائي، يمكنك الوصول إلى مثيل تشغيل Neptune. لاحظ أنك ستحتاج إلى تعديل منطق المدرب أو إنشاء استدعاء مخصص للوصول إلى كائن التشغيل المحدد، حيث يتعامل تكامل Ultralytics مع دورة حياة التشغيل داخليًا.
الأسئلة الشائعة
كيف أقوم بتعطيل تسجيل Neptune؟
إذا قمت بتثبيت neptune ولكن ترغب في تعطيل التسجيل لجلسة معينة أو عالميًا، يمكنك تعديل إعدادات YOLO.
# Disable Neptune integration
yolo settings neptune=False
صوري لا يتم تحميلها. ما المشكلة؟
تأكد من أن شبكتك تسمح بالاتصالات بخوادم Neptune. بالإضافة إلى ذلك، يحدث تسجيل الصور عادةً على فترات محددة (مثل نهاية العصور أو نهاية التدريب). إذا قمت بمقاطعة التدريب مبكرًا باستخدام Ctrl+C، قد لا يتم تحميل بعض المخرجات النهائية مثل مصفوفات الارتباك أو أفضل أوزان النموذج.
هل يمكنني التسجيل لمعرف تشغيل Neptune محدد؟
يقوم التكامل الحالي تلقائيًا بإنشاء تشغيل جديد لكل جلسة تدريب. لاستئناف التسجيل في تشغيل موجود، ستحتاج عادةً إلى التعامل مع تهيئة Neptune يدويًا في كود python، وهو ما يقع خارج نطاق التكامل التلقائي. ومع ذلك، تدعم Ultralytics استئناف التدريب محليًا، مما سيؤدي إلى إنشاء تشغيل جديد في Neptune لتتبع الحقب المستأنفة.
أين يمكنني العثور على أوزان النموذج في Neptune؟
في لوحة تحكم Neptune الخاصة بك، انتقل إلى النتائج أو جميع البيانات الوصفية القسم. ستجد weights مجلد يحتوي على best.pt الملف، والذي يمكنك تنزيله للنشر.