تعرّف على كيفية التصدير إلى تنسيق TF SavedModel من YOLO26#
قد يكون نشر نماذج التعلّم الآلي أمرًا صعبًا. ومع ذلك، يمكن أن يجعل استخدام تنسيق نموذج فعّال ومرن مهمتك أسهل. يُعد TF SavedModel إطارًا مفتوح المصدر للتعلّم الآلي، ويستخدمه TensorFlow لتحميل نماذج التعلّم الآلي بطريقة متسقة. وهو أشبه بحقيبة لنماذج TensorFlow، ما يجعل حملها واستخدامها على أجهزة وأنظمة مختلفة أمرًا سهلًا.
يمكن أن يساعدك تعلّم كيفية التصدير إلى TF SavedModel من نماذج Ultralytics YOLO26 على نشر النماذج بسهولة عبر منصات وبيئات مختلفة. في هذا الدليل، سنستعرض كيفية تحويل نماذجك إلى تنسيق TF SavedModel، ما يبسّط عملية تشغيل الاستدلال باستخدام نماذجك على أجهزة مختلفة.
لماذا ينبغي لك التصدير إلى TF SavedModel؟#
يُعد تنسيق TensorFlow SavedModel جزءًا من منظومة TensorFlow التي طوّرتها Google، كما هو موضح أدناه. وقد صُمّم لحفظ نماذج TensorFlow وتسلسلها بسلاسة. وهو يضم جميع تفاصيل النماذج، مثل البنية والأوزان وحتى معلومات التجميع. وهذا يجعل مشاركة النماذج ونشرها ومواصلة تدريبها عبر بيئات مختلفة أمرًا مباشرًا.
يتمتع 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، وهي العائلة الوحيدة التي تأتي بهذه الرؤوس.
تصدير نماذج 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")وسائط التصدير#
| الوسيطة | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'saved_model' | التنسيق المستهدف للنموذج المُصدَّر، والذي يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عددًا صحيحًا للصور المربعة أو صفًا (height, width) لأبعاد محددة. |
keras | bool | False | يتيح التصدير إلى تنسيق Keras، مما يوفر التوافق مع خدمة TensorFlow وواجهات برمجة التطبيقات. |
quantize | int أو str | None | دقة التكميم: 8 (INT8/PTQ؛ يتطلب المعايرة data/fraction) أو 32/غير محدد (FP32). لا يدعم تصدير SavedModel تنسيق FP16. ويستبدل ذلك الخيار المهمل int8. |
opset | int | None | يحدد إصدار مجموعة عمليات ONNX للرسم البياني الوسيط لـ ONNX. وإذا لم يُحدَّد، فسيُستخدم أحدث إصدار مدعوم. |
nms | bool، اختياري | None | حدد الناتج الخام (None، الافتراضي)، أو المعالجة غير اللحظية المدمجة (NMS) (True)، أو رأس النموذج الخالي من المعالجة غير اللحظية (NMS) (False). |
batch | int | 1 | يحدد حجم الدفعة للاستدلال في نموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدَّر بالتزامن في وضع predict. |
data | str | None | مسار YAML الخاص بـ مجموعة البيانات، وهو ضروري للتكميم؛ بينما يتطلب التصنيف بدلًا من ذلك دليل مجموعة بيانات أو اسم مجموعة بيانات مضمّنة. إذا لم يُحدَّد مع quantize=8، تختار Ultralytics مجموعة بيانات المعايرة الافتراضية لمهمة النموذج. |
fraction | float أو int أو list | 1.0 | مجموعة المعايرة الجزئية كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تترك القوائم ذات العنصرين test ممتلئًا، بينما تتخطى 0. |
device | str | None | يحدد الجهاز المستخدم للتصدير: CPU (device=cpu)، وMPS لشرائح Apple (device=mps). |
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.
نشر نماذج YOLO26 TF SavedModel المُصدَّرة#
بعد أن صدّرت نموذج YOLO26 إلى تنسيق TF SavedModel، تتمثل الخطوة التالية في نشره. وتتمثل الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TF SavedModel في استخدام طريقة YOLO("yolo26n_saved_model/")، كما ورد سابقًا في مقتطف شيفرة الاستخدام.
ومع ذلك، للحصول على تعليمات متعمقة حول نشر نماذج TF SavedModel، راجع الموارد التالية:
-
TensorFlow Serving: إليك وثائق المطوّرين حول كيفية نشر نماذج TF SavedModel باستخدام TensorFlow Serving.
-
تشغيل TensorFlow SavedModel في Node.js: تدوينة من TensorFlow حول تشغيل TensorFlow SavedModel في Node.js مباشرةً من دون تحويل.
-
النشر على السحابة: تدوينة من TensorFlow حول نشر نموذج TensorFlow SavedModel على منصة Cloud AI.
الملخص#
استعرضنا في هذا الدليل كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق TF SavedModel. وبالتصدير إلى TF SavedModel، تحصل على المرونة اللازمة لتحسين نماذج YOLO26 ونشرها وتوسيع نطاقها على مجموعة واسعة من المنصات.
لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة وثائق TF SavedModel الرسمية.
لمزيد من المعلومات حول دمج Ultralytics YOLO26 مع المنصات والأطر الأخرى، لا تنسَ الاطلاع على صفحة دليل التكامل. فهي تزخر بموارد مفيدة تساعدك على تحقيق أقصى استفادة من YOLO26 في مشاريعك.
الأسئلة الشائعة#
يُعد تصدير نموذج Ultralytics YOLO إلى تنسيق TensorFlow SavedModel أمرًا مباشرًا. يمكنك استخدام Python أو CLI لتحقيق ذلك:
تصدير YOLO26 إلى TF SavedModelfrom 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 الرسمية.