Ultralytics YOLO27:

تعرّف على كيفية التصدير إلى تنسيق TF SavedModel من YOLO26#

قد يكون نشر نماذج التعلّم الآلي أمرًا صعبًا. ومع ذلك، يمكن أن يجعل استخدام تنسيق نموذج فعّال ومرن مهمتك أسهل. يُعد TF SavedModel إطارًا مفتوح المصدر للتعلّم الآلي، ويستخدمه TensorFlow لتحميل نماذج التعلّم الآلي بطريقة متسقة. وهو أشبه بحقيبة لنماذج TensorFlow، ما يجعل حملها واستخدامها على أجهزة وأنظمة مختلفة أمرًا سهلًا.

يمكن أن يساعدك تعلّم كيفية التصدير إلى TF SavedModel من نماذج Ultralytics YOLO26 على نشر النماذج بسهولة عبر منصات وبيئات مختلفة. في هذا الدليل، سنستعرض كيفية تحويل نماذجك إلى تنسيق TF SavedModel، ما يبسّط عملية تشغيل الاستدلال باستخدام نماذجك على أجهزة مختلفة.

لماذا ينبغي لك التصدير إلى TF SavedModel؟#

يُعد تنسيق TensorFlow SavedModel جزءًا من منظومة TensorFlow التي طوّرتها Google، كما هو موضح أدناه. وقد صُمّم لحفظ نماذج TensorFlow وتسلسلها بسلاسة. وهو يضم جميع تفاصيل النماذج، مثل البنية والأوزان وحتى معلومات التجميع. وهذا يجعل مشاركة النماذج ونشرها ومواصلة تدريبها عبر بيئات مختلفة أمرًا مباشرًا.

TensorFlow SavedModel export format structure

يتمتع TF SavedModel بميزة رئيسية هي التوافق. فهو يعمل جيدًا مع TensorFlow Serving وLiteRT (المعروف سابقًا باسم TensorFlow Lite) وTensorFlow.js. ويسهّل هذا التوافق مشاركة النماذج ونشرها عبر منصات متعددة، بما في ذلك تطبيقات الويب والهواتف المحمولة. ويُعد تنسيق TF SavedModel مفيدًا لكل من البحث والإنتاج. كما يوفر طريقة موحّدة لإدارة نماذجك، مما يضمن جاهزيتها لأي تطبيق.

الميزات الرئيسية لـ TF SavedModel#

فيما يلي الميزات الرئيسية التي تجعل TF SavedModel خيارًا رائعًا لمطوّري الذكاء الاصطناعي:

  • قابلية النقل: يوفر TF SavedModel تنسيقًا للتسلسل محايدًا لغويًا وقابلًا للاسترداد ومحكمًا. ويتيح للأنظمة والأدوات عالية المستوى إنتاج نماذج TensorFlow واستهلاكها وتحويلها. ويمكن مشاركة SavedModels ونشرها بسهولة عبر منصات وبيئات مختلفة.

  • سهولة النشر: يضم TF SavedModel الرسم البياني الحسابي والمعلمات المدرّبة والبيانات الوصفية اللازمة في حزمة واحدة. ويمكن تحميلها واستخدامها للاستدلال بسهولة من دون الحاجة إلى الشيفرة الأصلية التي أنشأت النموذج. وهذا يجعل نشر نماذج TensorFlow مباشرًا وفعّالًا في بيئات الإنتاج المختلفة.

  • إدارة الأصول: يدعم TF SavedModel تضمين الأصول الخارجية مثل المفردات والتضمينات أو جداول البحث. وتُخزَّن هذه الأصول إلى جانب تعريف الرسم البياني والمتغيرات، ما يضمن توفرها عند تحميل النموذج. وتبسّط هذه الميزة إدارة النماذج التي تعتمد على موارد خارجية وتوزيعها.

خيارات النشر باستخدام TF SavedModel#

قبل أن نتعمق في عملية تصدير نماذج YOLO26 إلى تنسيق TF SavedModel، لنستكشف بعض سيناريوهات النشر المعتادة التي يُستخدم فيها هذا التنسيق.

يوفر TF SavedModel مجموعة من الخيارات لنشر نماذج التعلّم الآلي:

  • TensorFlow Serving: TensorFlow Serving هو نظام مرن وعالي الأداء لخدمة النماذج، ومصمم لبيئات الإنتاج. وهو يدعم TF SavedModels أصليًا، ما يسهّل نشر نماذجك وخدمتها على المنصات السحابية أو الخوادم المحلية أو الأجهزة الطرفية.

  • المنصات السحابية: يقدم مزودو الخدمات السحابية الرئيسيون، مثل منصة Google Cloud (GCP) وAmazon Web Services (AWS) وMicrosoft Azure، خدمات لنشر نماذج TensorFlow وتشغيلها، بما في ذلك TF SavedModels. وتوفر هذه الخدمات بنية أساسية قابلة للتوسع ومدارة، ما يتيح لك نشر نماذجك وتوسيع نطاقها بسهولة.

  • الأجهزة المحمولة والمضمّنة: يدعم LiteRT (المعروف سابقًا باسم TensorFlow Lite)، وهو حل خفيف الوزن لتشغيل نماذج التعلّم الآلي على الأجهزة المحمولة والمضمّنة وأجهزة إنترنت الأشياء، تحويل TF SavedModels إلى تنسيق LiteRT. ويتيح لك ذلك نشر نماذجك على مجموعة واسعة من الأجهزة، من الهواتف الذكية والأجهزة اللوحية إلى المتحكمات الدقيقة والأجهزة الطرفية.

  • وقت تشغيل TensorFlow: TensorFlow Runtime (tfrt) هو وقت تشغيل عالي الأداء لتنفيذ رسوم TensorFlow البيانية. ويوفر واجهات برمجة تطبيقات منخفضة المستوى لتحميل نماذج TF SavedModel وتشغيلها في بيئات C++. ويوفر TensorFlow Runtime أداءً أفضل مقارنةً بوقت تشغيل TensorFlow القياسي. وهو مناسب لسيناريوهات النشر التي تتطلب استدلالًا منخفض زمن الاستجابة وتكاملًا وثيقًا مع قواعد التعليمات البرمجية الحالية المكتوبة بلغة C++.

المهام المدعومة#

يدعم تصدير TF SavedModel جميع مهام Ultralytics السبع. ولا يتوفر التجزئة الدلالية وتقدير العمق إلا مع YOLO26، وهي العائلة الوحيدة التي تأتي بهذه الرؤوس.

المهمةYOLOv8YOLO11YOLO26
الكشف
التجزئة
الدلالي
العمق
التصنيف
الوضعية
OBB

تصدير نماذج YOLO26 إلى TF SavedModel#

يؤدي تصدير نماذج YOLO26 إلى تنسيق TF SavedModel إلى تعزيز قابليتها للتكيّف وسهولة نشرها عبر منصات مختلفة.

التثبيت#

لتثبيت الحزمة المطلوبة، نفّذ:

التثبيت
# Install the required package for YOLO26
pip install ultralytics

للحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على الحلول والنصائح.

الاستخدام#

صُممت جميع نماذج Ultralytics YOLO26 لدعم التصدير مباشرةً، مما يسهّل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات الإعداد لاختيار الإعداد الأنسب لتطبيقك.

يدعم تنسيق TF SavedModel أوضاع التصدير والتنبؤ والتحقق. صدّر نموذجك، ثم حمّل النموذج المُصدَّر لتشغيل الاستدلال أو التحقق من دقته.

التصدير
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates 'yolo26n_saved_model'
التنبؤ
from ultralytics import YOLO

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
التحقق
from ultralytics import YOLO

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

وسائط التصدير#

الوسيطةالنوعالافتراضيالوصف
formatstr'saved_model'التنسيق المستهدف للنموذج المُصدَّر، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عددًا صحيحًا للصور المربعة أو صفًا (height, width) لأبعاد محددة.
kerasboolFalseيتيح التصدير إلى تنسيق Keras، مما يوفر التوافق مع خدمة TensorFlow وواجهات برمجة التطبيقات.
quantizeint أو strNoneدقة التكميم: 8 (INT8/PTQ؛ يتطلب المعايرة data/fraction) أو 32/غير محدد (FP32). لا يدعم تصدير SavedModel تنسيق FP16. ويستبدل ذلك الخيار المهمل int8.
opsetintNoneيحدد إصدار مجموعة عمليات ONNX للرسم البياني الوسيط لـ ONNX. وإذا لم يُحدَّد، فسيُستخدم أحدث إصدار مدعوم.
nmsbool، اختياريNoneحدد الناتج الخام (None، الافتراضي)، أو المعالجة غير اللحظية المدمجة (NMS) (True)، أو رأس النموذج الخالي من المعالجة غير اللحظية (NMS) (False).
batchint1يحدد حجم الدفعة للاستدلال في نموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدَّر بالتزامن في وضع predict.
datastrNoneمسار YAML الخاص بـ مجموعة البيانات، وهو ضروري للتكميم؛ بينما يتطلب التصنيف بدلًا من ذلك دليل مجموعة بيانات أو اسم مجموعة بيانات مضمّنة. إذا لم يُحدَّد مع quantize=8، تختار Ultralytics مجموعة بيانات المعايرة الافتراضية لمهمة النموذج.
fractionfloat أو int أو list1.0مجموعة المعايرة الجزئية كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تترك القوائم ذات العنصرين test ممتلئًا، بينما تتخطى 0.
devicestrNoneيحدد الجهاز المستخدم للتصدير: CPU (device=cpu)، وMPS لشرائح Apple (device=mps).

لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.

نشر نماذج YOLO26 TF SavedModel المُصدَّرة#

بعد أن صدّرت نموذج YOLO26 إلى تنسيق TF SavedModel، تتمثل الخطوة التالية في نشره. وتتمثل الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TF SavedModel في استخدام طريقة YOLO("yolo26n_saved_model/")، كما ورد سابقًا في مقتطف شيفرة الاستخدام.

ومع ذلك، للحصول على تعليمات متعمقة حول نشر نماذج TF SavedModel، راجع الموارد التالية:

الملخص#

استعرضنا في هذا الدليل كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق TF SavedModel. وبالتصدير إلى TF SavedModel، تحصل على المرونة اللازمة لتحسين نماذج YOLO26 ونشرها وتوسيع نطاقها على مجموعة واسعة من المنصات.

لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة وثائق TF SavedModel الرسمية.

لمزيد من المعلومات حول دمج Ultralytics YOLO26 مع المنصات والأطر الأخرى، لا تنسَ الاطلاع على صفحة دليل التكامل. فهي تزخر بموارد مفيدة تساعدك على تحقيق أقصى استفادة من YOLO26 في مشاريعك.

الأسئلة الشائعة#

  • يُعد تصدير نموذج Ultralytics YOLO إلى تنسيق TensorFlow SavedModel أمرًا مباشرًا. يمكنك استخدام Python أو CLI لتحقيق ذلك:

    تصدير YOLO26 إلى TF SavedModel
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF SavedModel format
    model.export(format="saved_model")  # creates 'yolo26n_saved_model'
    
    # Load the exported TF SavedModel for inference
    tf_savedmodel_model = YOLO("./yolo26n_saved_model")
    results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")

    راجع وثائق التصدير لدى Ultralytics لمزيد من التفاصيل.

  • يوفر تنسيق TensorFlow SavedModel مزايا عديدة لـنشر النماذج:

    • قابلية النقل: يوفر تنسيقًا محايدًا لغويًا، ما يسهّل مشاركة النماذج ونشرها عبر بيئات مختلفة.
    • التوافق: يتكامل بسلاسة مع أدوات مثل TensorFlow Serving وLiteRT وTensorFlow.js، وهي أدوات أساسية لنشر النماذج على منصات مختلفة، بما في ذلك تطبيقات الويب والهواتف المحمولة.
    • التغليف الكامل: يرمّز بنية النموذج وأوزانه ومعلومات التجميع، ما يتيح مشاركة النموذج ومواصلة تدريبه بسهولة.

    لمزيد من المزايا وخيارات النشر، اطلع على خيارات نشر نماذج Ultralytics YOLO.

  • يمكن نشر TF SavedModel في بيئات مختلفة، بما في ذلك:

    • TensorFlow Serving: مثالي لبيئات الإنتاج التي تتطلب خدمة نماذج قابلة للتوسع وعالية الأداء.
    • المنصات السحابية: يدعم خدمات سحابية رئيسية مثل منصة Google Cloud (GCP) وAmazon Web Services (AWS) وMicrosoft Azure لنشر النماذج القابل للتوسع.
    • الأجهزة المحمولة والمضمّنة: يتيح استخدام LiteRT (المعروف سابقًا باسم TensorFlow Lite) لتحويل TF SavedModels نشرها على الأجهزة المحمولة وأجهزة إنترنت الأشياء والمتحكمات الدقيقة.
    • وقت تشغيل TensorFlow: مناسب لبيئات C++ التي تحتاج إلى استدلال منخفض زمن الاستجابة وأداء أفضل.

    للاطلاع على خيارات النشر التفصيلية، تفضل بزيارة الأدلة الرسمية حول نشر نماذج TensorFlow.

  • لتصدير نماذج YOLO26، تحتاج إلى تثبيت الحزمة ultralytics. شغّل الأمر التالي في الطرفية:

    pip install ultralytics

    للاطلاع على إرشادات التثبيت التفصيلية وأفضل الممارسات، راجع دليل تثبيت Ultralytics. وإذا واجهت أي مشكلات، فاستشر دليل المشكلات الشائعة.

  • يُعد تنسيق TF SavedModel مفيدًا لمطوّري الذكاء الاصطناعي بفضل الميزات التالية:

    • قابلية النقل: يتيح المشاركة والنشر بسهولة عبر بيئات متنوعة.
    • سهولة النشر: يضم الرسم البياني الحسابي والمعلمات المدرّبة والبيانات الوصفية في حزمة واحدة، ما يبسّط التحميل والاستدلال.
    • إدارة الأصول: يدعم الأصول الخارجية مثل المفردات، ما يضمن توفرها عند تحميل النموذج.

    لمزيد من التفاصيل، استكشف وثائق TensorFlow الرسمية.

التعليقات