فهم كيفية التصدير إلى تنسيق TF SavedModel من YOLO26#
قد يكون نشر نماذج machine learning أمرًا صعبًا. ومع ذلك، فإن استخدام تنسيق نموذج فعال ومرن يمكن أن يسهل عملك. يعد 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 SavedModels#
إليك الميزات الرئيسية التي تجعل TF SavedModel خياراً رائعاً لمطوري الذكاء الاصطناعي:
-
إمكانية النقل: يوفر TF SavedModel تنسيق تسلسل محكم ومستقل عن اللغة وقابل للاسترداد. وهي تمكن الأنظمة والأدوات ذات المستوى الأعلى من إنتاج نماذج TensorFlow واستهلاكها وتحويلها. يمكن مشاركة SavedModels بسهولة ونشرها عبر منصات وبيئات مختلفة.
-
سهولة النشر: يقوم TF SavedModel بحزم الرسم البياني الحسابي، والمعلمات المدربة، والبيانات الوصفية الضرورية في حزمة واحدة. يمكن تحميلها واستخدامها بسهولة للاستدلال دون الحاجة إلى الكود الأصلي الذي بنى النموذج. وهذا يجعل نشر نماذج TensorFlow مباشراً وفعالاً في بيئات الإنتاج المختلفة.
-
إدارة الأصول: يدعم TF SavedModel تضمين الأصول الخارجية مثل المفردات، أو embeddings، أو جداول البحث. يتم تخزين هذه الأصول جنبًا إلى جنب مع تعريف الرسم البياني والمتغيرات، مما يضمن توفرها عند تحميل النموذج. تبسيط هذه الميزة إدارة وتوزيع النماذج التي تعتمد على موارد خارجية.
خيارات النشر باستخدام TF SavedModel#
قبل أن نتعمق في عملية تصدير نماذج YOLO26 إلى تنسيق TF SavedModel، دعنا نستكشف بعض سيناريوهات النشر النموذجية حيث يتم استخدام هذا التنسيق.
يوفر TF SavedModel مجموعة من الخيارات لنشر نماذج التعلم الآلي الخاصة بك:
-
TensorFlow Serving: TensorFlow Serving هو نظام خدمة مرن وعالي الأداء مصمم لبيئات الإنتاج. وهو يدعم أصليًا نماذج TF SavedModels، مما يسهل نشر نماذجك وخدمتها على منصات السحابة، أو الخوادم المحلية، أو edge devices.
-
منصات السحابة: تقدم مزودات السحابة الرئيسية مثل Google Cloud Platform (GCP)، وAmazon Web Services (AWS)، وMicrosoft Azure خدمات لنشر وتشغيل نماذج TensorFlow، بما في ذلك TF SavedModels. توفر هذه الخدمات بنية تحتية قابلة للتوسع ومدارة، مما يسمح لك بنشر نماذجك وتوسيع نطاقها بسهولة.
-
الأجهزة المحمولة والمضمنة: يدعم LiteRT (المعروف سابقًا باسم TensorFlow Lite)، وهو حل خفيف الوزن لتشغيل نماذج تعلم الآلة على الأجهزة المحمولة والمضمنة وأجهزة إنترنت الأشياء (IoT)، تحويل نماذج TF SavedModels إلى تنسيق LiteRT. يتيح لك هذا نشر نماذجك على مجموعة واسعة من الأجهزة، بدءًا من الهواتف الذكية والأجهزة اللوحية وصولاً إلى وحدات التحكم الدقيقة والأجهزة الطرفية.
-
بيئة تشغيل TensorFlow: بيئة تشغيل TensorFlow (
tfrt) هي بيئة تشغيل عالية الأداء لتنفيذ رسوم بيانية TensorFlow. توفر واجهات برمجة تطبيقات (APIs) منخفضة المستوى لتحميل وتشغيل TF SavedModels في بيئات C++. توفر بيئة تشغيل TensorFlow أداءً أفضل مقارنة ببيئة تشغيل 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 أوضاع التصدير (Export)، والتنبؤ (Predict)، والتحقق (Validate). قم بتصدير نموذجك، ثم قم بتحميل النموذج المصدر لتشغيل الاستدلال أو التحقق من دقته.
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 | حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون رقماً صحيحاً للصور المربعة أو صفاً (tuple) (height, width) لأبعاد محددة. |
keras | bool | False | يُمكّن التصدير إلى تنسيق Keras، مما يوفر التوافق مع TensorFlow Serving وواجهات برمجة التطبيقات. |
quantize | int أو str | None | دقة الكم (Quantization): 8 (INT8/PTQ؛ تتطلب المعايرة data/fraction) أو 32/بدون تعيين (FP32). لا يتم دعم FP16 لتصدير SavedModel. يحل محل علامة int8 المهملة. |
opset | int | None | يحدد إصدار ONNX opset للرسم البياني الوسيط ONNX. في حال عدم تحديده، يتم استخدام أحدث إصدار مدعوم. |
nms | bool | False | يضيف كبت غير الحد الأقصى (NMS)، وهو أمر ضروري لمعالجة الاكتشاف بدقة وكفاءة. |
batch | int | 1 | يحدد حجم الاستدلال المفعلي لنموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر في نفس الوقت في وضع predict. |
data | str | None | مسار ملف YAML للـdataset، وهو أمر أساسي للكمية (quantization)؛ بينما يتطلب التصنيف مجلد مجموعة بيانات أو اسم مجموعة بيانات مدمجة بدلاً من ذلك. إذا تم تخطيه باستخدام quantize=8، فإن Ultralytics تحدد مجموعة بيانات المعايرة الافتراضية لمهمة النموذج. |
fraction | float أو int أو list | 1.0 | مجموعة فرعية للمعايرة كنسبة، أو عدد صور، أو نسب/أعداد [train, val, test]. قوائم العنصرين تترك test بالكامل، بينما 0 تتخطاها. |
device | str | None | يحدد الجهاز المراد التصدير إليه: وحدة المعالجة المركزية (CPU) (device=cpu)، و MPS لسليكون أبل (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 Platform).
ملخص#
في هذا الدليل، استكشفنا كيفية تصدير نماذج 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 Platform (GCP) و Amazon Web Services (AWS) و Microsoft Azure لنشر النماذج القابلة للتوسع.
- الأجهزة المحمولة والمضمنة: يتيح استخدام LiteRT (المعروف سابقًا باسم TensorFlow Lite) لتحويل نماذج TF SavedModels إمكانية النشر على الأجهزة المحمولة، وأجهزة إنترنت الأشياء (IoT)، وحدات التحكم الدقيقة.
- TensorFlow Runtime: لبيئات C++ التي تحتاج إلى استدلال منخفض التأخير مع أداء أفضل.
خيارات النشر المفصلة، قم بزيارة الأدلة الرسمية حول نشر نماذج TensorFlow.
لتصدير نماذج YOLO26، تحتاج إلى تثبيت حزمة
ultralytics. قم بتشغيل الأمر التالي في محطتك الطرفية (terminal):pip install ultralyticsلمزيد من إرشادات التثبيت التفصيلية وأفضل الممارسات، راجع دليل تثبيت Ultralytics. إذا واجهت أي مشكلات، استشر دليل المشكلات الشائعة الخاص بنا.
يعد تنسيق TF SavedModel مفيداً لمطوري الذكاء الاصطناعي بفضل الميزات التالية:
- إمكانية النقل: يسمح بالمشاركة والنشر عبر بيئات مختلفة دون عناء.
- سهولة النشر: يغلف الرسم البياني الحسابي، والمعلمات المدربة، والبيانات الوصفية في حزمة واحدة، مما يبسط التحميل والاستدلال.
- إدارة الأصول: يدعم أصولاً خارجية مثل القواميس، مما يضمن توفرها عند تحميل النموذج.
لمزيد من التفاصيل، استكشف وثائق TensorFlow الرسمية.