تعرّف على كيفية التصدير من YOLO26 إلى تنسيق TF SavedModel#
قد يكون نشر نماذج التعلّم الآلي صعباً. لكن استخدام تنسيق نماذج فعال ومرن يمكن أن يسهّل المهمة. يُعد 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 واستهلاكها وتحويلها. ويمكن مشاركة نماذج SavedModel ونشرها بسهولة عبر منصات وبيئات مختلفة.
-
سهولة النشر: يجمع TF SavedModel الرسم البياني الحسابي والمعلمات المدرّبة والبيانات الوصفية اللازمة في حزمة واحدة. ويمكن تحميلها واستخدامها للاستدلال بسهولة دون الحاجة إلى الشيفرة الأصلية التي بُني بها النموذج. وهذا يجعل نشر نماذج TensorFlow سهلاً وفعالاً في بيئات إنتاج متنوعة.
-
إدارة الأصول: يدعم TF SavedModel تضمين الأصول الخارجية، مثل المفردات والتضمينات أو جداول البحث. وتُخزّن هذه الأصول إلى جانب تعريف الرسم البياني والمتغيرات، ما يضمن توفرها عند تحميل النموذج. وتبسّط هذه الميزة إدارة النماذج التي تعتمد على موارد خارجية وتوزيعها.
خيارات النشر باستخدام TF SavedModel#
قبل أن نتناول خطوات تصدير نماذج YOLO26 إلى تنسيق TF SavedModel، لنستعرض بعض سيناريوهات النشر الشائعة التي يُستخدم فيها هذا التنسيق.
يوفر TF SavedModel مجموعة من الخيارات لنشر نماذج التعلّم الآلي:
-
TensorFlow Serving: يُعد TensorFlow Serving نظاماً مرناً وعالي الأداء لتقديم النماذج، صُمم لبيئات الإنتاج. وهو يدعم TF SavedModel مباشرةً، ما يسهّل نشر النماذج وتقديمها على المنصات السحابية أو الخوادم المحلية أو الأجهزة الطرفية.
-
المنصات السحابية: يوفّر كبار مزودي الخدمات السحابية، مثل Google Cloud Platform (GCP) وAmazon Web Services (AWS) وMicrosoft Azure، خدمات لنشر نماذج TensorFlow وتشغيلها، بما فيها نماذج TF SavedModel. وتوفر هذه الخدمات بنية تحتية مُدارة وقابلة للتوسع، ما يتيح لك نشر نماذجك وتوسيع نطاقها بسهولة.
-
الأجهزة المحمولة والمضمنة: يدعم LiteRT (المعروف سابقاً باسم TensorFlow Lite)، وهو حل خفيف لتشغيل نماذج التعلّم الآلي على الأجهزة المحمولة والمضمنة وأجهزة إنترنت الأشياء، تحويل نماذج TF SavedModel إلى تنسيق LiteRT. ويتيح لك ذلك نشر نماذجك على نطاق واسع من الأجهزة، بدءاً بالهواتف الذكية والأجهزة اللوحية وصولاً إلى المتحكمات الدقيقة والأجهزة الطرفية.
-
وقت تشغيل TensorFlow: يُعد TensorFlow Runtime (
tfrt) بيئة تشغيل عالية الأداء لتنفيذ رسوم TensorFlow البيانية. ويوفر واجهات API منخفضة المستوى لتحميل نماذج 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
# تحميل نموذج YOLO26
model = YOLO("yolo26n.pt")
# تصدير النموذج إلى تنسيق TF SavedModel
model.export(format="saved_model") # creates 'yolo26n_saved_model'from ultralytics import YOLO
# تحميل نموذج TF SavedModel المصدّر
model = YOLO("./yolo26n_saved_model")
# تنفيذ الاستدلال
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# تحميل نموذج TF SavedModel المصدّر
model = YOLO("./yolo26n_saved_model")
# # التحقق من الدقة على مجموعة بيانات COCO8
metrics = model.val(data="coco8.yaml")وسيطات التصدير#
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'saved_model' | التنسيق المستهدف للنموذج المُصدَّر، ويحدد مدى توافقه مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب كمدخل للنموذج. يمكن تحديده كعدد صحيح للصور المربعة أو كصف (height, width) للأبعاد المحددة. |
quantize | int أو str | None | دقة التكميم: 8 (INT8/PTQ؛ يتطلب المعايرة data/fraction) أو 32/غير محدد (FP32). لا يُدعم FP16 عند التصدير إلى SavedModel. ويحل هذا محل الخيار المهمل int8. |
opset | int | None | يحدد إصدار opset الخاص بـ 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 silicon (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 # تحميل نموذج YOLO26 model = YOLO("yolo26n.pt") # تصدير النموذج إلى تنسيق TF SavedModel model.export(format="saved_model") # creates 'yolo26n_saved_model' # تحميل TF SavedModel المُصدّر للاستدلال 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 Platform (GCP) وAmazon Web Services (AWS) وMicrosoft Azure لنشر النماذج على نطاق واسع.
- الأجهزة المحمولة والمضمنة: يتيح استخدام LiteRT (المعروف سابقًا باسم TensorFlow Lite) لتحويل نماذج TF SavedModel ونشرها على الأجهزة المحمولة وأجهزة إنترنت الأشياء والمتحكمات الدقيقة.
- TensorFlow Runtime: لبيئات C++ التي تتطلب استدلالًا بزمن استجابة منخفض وأداءً أفضل.
للاطلاع على خيارات النشر بالتفصيل، تفضل بزيارة الأدلة الرسمية حول نشر نماذج TensorFlow.
لتصدير نماذج YOLO26، عليك تثبيت الحزمة
ultralytics. نفّذ الأمر التالي في الطرفية:pip install ultralyticsللحصول على تعليمات التثبيت التفصيلية وأفضل الممارسات، راجع دليل التثبيت من Ultralytics. وإذا واجهت أي مشكلات، فاستعن بـدليل المشكلات الشائعة.
يفيد تنسيق TF SavedModel مطوري الذكاء الاصطناعي بفضل الميزات التالية:
- قابلية النقل: يتيح المشاركة والنشر بسهولة في بيئات متعددة.
- سهولة النشر: يجمع الرسم البياني الحسابي والمعلمات المدرّبة والبيانات الوصفية في حزمة واحدة، ما يبسّط التحميل والاستدلال.
- إدارة الأصول: يدعم الأصول الخارجية مثل المفردات، ما يضمن توفرها عند تحميل النموذج.
لمزيد من التفاصيل، استكشف وثائق TensorFlow الرسمية.