تعرّف على كيفية التصدير إلى تنسيق TF SavedModel من YOLO26
نشر تعلم الآلة قد تكون النماذج صعبة. ومع ذلك، فإن استخدام تنسيق نموذج فعال ومرن يمكن أن يجعل عملك أسهل. TF SavedModel هو إطار عمل مفتوح المصدر للتعلم الآلي يستخدمه TensorFlow لتحميل نماذج التعلم الآلي بطريقة متسقة. إنه يشبه حقيبة سفر لنماذج TensorFlow، مما يجعلها سهلة الحمل والاستخدام على أجهزة وأنظمة مختلفة.
إن تعلم كيفية التصدير إلى TF SavedModel من Ultralytics YOLO26 النماذج يمكن أن يساعدك في نشر النماذج بسهولة عبر منصات وبيئات مختلفة. في هذا الدليل، سنستعرض كيفية تحويل نماذجك إلى تنسيق TF SavedModel، مما يبسط عملية إجراء الاستنتاجات باستخدام نماذجك على أجهزة مختلفة.
لماذا يجب عليك التصدير إلى TF SavedModel؟
تنسيق TensorFlow SavedModel هو جزء من نظام TensorFlow البيئي الذي طورته Google كما هو موضح أدناه. إنه مصمم لحفظ وتسلسل نماذج TensorFlow بسلاسة. وهو يغلف التفاصيل الكاملة للنماذج مثل البنية، والأوزان، وحتى معلومات التجميع. وهذا يجعل من السهل مشاركة النماذج ونشرها ومواصلة تدريبها عبر بيئات مختلفة.
يتمتع TF SavedModel بميزة رئيسية وهي توافقيته. فهو يعمل بشكل جيد مع TensorFlow Serving، وTensorFlow Lite، وTensorFlow.js. هذه التوافقية تجعل من الأسهل مشاركة ونشر النماذج عبر منصات متنوعة، بما في ذلك تطبيقات الويب والهواتف المحمولة. تنسيق TF SavedModel مفيد لكل من البحث والإنتاج. فهو يوفر طريقة موحدة لإدارة نماذجك، مما يضمن جاهزيتها لأي تطبيق.
الميزات الرئيسية لـ TF SavedModels
إليك الميزات الرئيسية التي تجعل TF SavedModel خياراً رائعاً لمطوري الذكاء الاصطناعي:
-
قابلية النقل: يوفر TF SavedModel تنسيق تسلسل محايد للغة وقابل للاسترداد ومحكم. فهي تمكن الأنظمة والأدوات عالية المستوى من إنتاج واستهلاك وتحويل نماذج TensorFlow. يمكن مشاركة ونشر SavedModels بسهولة عبر منصات وبيئات مختلفة.
-
سهولة النشر: يقوم TF SavedModel بتجميع الرسم البياني الحسابي، والمعلمات المدربة، والبيانات الوصفية الضرورية في حزمة واحدة. يمكن تحميلها واستخدامها بسهولة للاستنتاج دون الحاجة إلى الكود الأصلي الذي بنى النموذج. وهذا يجعل نشر نماذج TensorFlow مباشراً وفعالاً في بيئات إنتاج متنوعة.
-
إدارة الأصول: يدعم TF SavedModel تضمين الأصول الخارجية مثل المفردات، تضمينات، أو جداول البحث. يتم تخزين هذه الأصول إلى جانب تعريف الرسم البياني والمتغيرات، مما يضمن توفرها عند تحميل النموذج. تبسط هذه الميزة إدارة وتوزيع النماذج التي تعتمد على موارد خارجية.
خيارات النشر مع 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. توفر هذه الخدمات بنية تحتية قابلة للتوسع ومدارة، مما يسمح لك بنشر وتوسيع نطاق نماذجك بسهولة.
-
الهواتف المحمولة والأجهزة المضمنة: TensorFlow Lite، وهو حل خفيف الوزن لتشغيل نماذج التعلم الآلي على الهواتف المحمولة، والأجهزة المضمنة، وأجهزة إنترنت الأشياء، يدعم تحويل TF SavedModels إلى تنسيق TensorFlow Lite. هذا يسمح لك بنشر نماذجك على مجموعة واسعة من الأجهزة، من الهواتف الذكية والأجهزة اللوحية إلى وحدات التحكم الدقيقة وأجهزة الحافة.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt) هو وقت تشغيل عالي الأداء لتنفيذ TensorFlow الرسوم البيانية. وهو يوفر واجهات برمجة تطبيقات منخفضة المستوى لتحميل وتشغيل TF SavedModels في بيئات C++. يوفر TensorFlow Runtime أداءً أفضل مقارنة بوقت تشغيل TensorFlow القياسي. إنه مناسب لسيناريوهات النشر التي تتطلب استنتاجاً بزمن وصول منخفض وتكاملاً وثيقاً مع قواعد كود C++ الحالية.
تصدير نماذج YOLO26 إلى TF SavedModel
من خلال تصدير نماذج YOLO26 إلى تنسيق TF SavedModel، يمكنك تعزيز قابليتها للتكيف وسهولة نشرها عبر منصات مختلفة.
التثبيت
لتثبيت الحزمة المطلوبة، قم بتشغيل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة الخاصة بنا للحصول على حلول ونصائح.
الاستخدام
كل نماذج Ultralytics YOLO26 مصممة لدعم التصدير فور إخراجها من الصندوق، مما يجعل من السهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات التكوين لاختيار أفضل إعداد لتطبيقك.
from ultralytics import YOLO
# Load the 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 model
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")وسائط التصدير
| الوسيط (Argument) | النوع (Type) | الافتراضي (Default) | الوصف (Description) |
|---|---|---|---|
format | str | 'saved_model' | التنسيق المستهدف للنموذج المصدر، مما يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة. |
keras | bool | False | يمكّن التصدير إلى تنسيق Keras، مما يوفر التوافق مع TensorFlow serving وAPIs. |
int8 | bool | False | يُنشط تكميم INT8، مما يزيد من ضغط النموذج ويسرع الاستدلال مع الحد الأدنى من الدقة خسارة، بشكل أساسي لأجهزة الحافة. |
nms | bool | False | يضيف خاصية Non-Maximum Suppression (NMS)، وهو أمر ضروري للمعالجة اللاحقة للكشف الدقيق والفعال. |
batch | int | 1 | يحدد حجم استنتاج دفعات النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. |
data | str | 'coco8.yaml' | المسار إلى ملف تكوين مجموعة البيانات ملف الإعدادات (الافتراضي: coco8.yaml)، وهو ضروري للكمية (quantization). |
fraction | float | 1.0 | يحدد جزء مجموعة البيانات لاستخدامه في معايرة تكميم INT8. يسمح بالمعايرة على مجموعة فرعية من مجموعة البيانات الكاملة، وهو مفيد للتجارب أو عندما تكون الموارد محدودة. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام مجموعة البيانات الكاملة. |
device | str | None | نشر نماذج PaddlePaddle المصدّرة من YOLO26device=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 Platform.
ملخص
في هذا الدليل، استكشفنا كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق TF SavedModel. من خلال التصدير إلى TF SavedModel، تكتسب المرونة لتحسين نماذج YOLO26 الخاصة بك، ونشرها، وتوسيع نطاقها على مجموعة واسعة من المنصات.
لمزيد من التفاصيل حول الاستخدام، قم بزيارة التوثيق الرسمي لـ TF SavedModel.
لمزيد من المعلومات حول دمج Ultralytics YOLO26 مع منصات وأطر عمل أخرى، لا تنسَ الاطلاع على صفحة دليل التكامل. إنها مليئة بالموارد الرائعة لمساعدتك في تحقيق أقصى استفادة من YOLO26 في مشاريعك.
الأسئلة الشائعة
كيف يمكنني تصدير نموذج Ultralytics YOLO إلى تنسيق TensorFlow SavedModel؟
تصدير نموذج Ultralytics YOLO إلى تنسيق TensorFlow SavedModel أمر مباشر. يمكنك استخدام Python أو CLI لتحقيق ذلك:
from ultralytics import YOLO
# Load the 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 SavedModel العديد من المزايا لـ نشر النموذج:
- قابلية النقل: إنه يوفر تنسيقاً محايداً للغة، مما يسهل مشاركة ونشر النماذج عبر بيئات مختلفة.
- التوافق: يتكامل بسلاسة مع أدوات مثل TensorFlow Serving، وTensorFlow Lite، وTensorFlow.js، وهي أدوات أساسية لنشر النماذج على منصات متنوعة، بما في ذلك تطبيقات الويب والهواتف المحمولة.
- تغليف كامل: يرمّز بنية النموذج، والأوزان، ومعلومات التجميع، مما يسمح بالمشاركة المباشرة ومواصلة التدريب.
لمزيد من المزايا وخيارات النشر، تحقق من خيارات نشر نموذج Ultralytics YOLO.
ما هي سيناريوهات النشر النموذجية لـ TF SavedModel؟
يمكن نشر TF SavedModel في بيئات متنوعة، بما في ذلك:
- TensorFlow Serving: مثالي لبيئات الإنتاج التي تتطلب تقديم نموذج قابل للتوسع وعالي الأداء.
- منصات السحابة: يدعم خدمات السحابة الرئيسية مثل Google Cloud Platform (GCP)، وAmazon Web Services (AWS)، وMicrosoft Azure لنشر النماذج القابلة للتوسع.
- الهواتف المحمولة والأجهزة المضمنة: باستخدام TensorFlow Lite لتحويل TF SavedModels يسمح بالنشر على الأجهزة المحمولة، وأجهزة إنترنت الأشياء، ووحدات التحكم الدقيقة.
- TensorFlow Runtime: لبيئات C++ التي تحتاج إلى استنتاج بزمن وصول منخفض مع أداء أفضل.
للحصول على خيارات نشر مفصلة، قم بزيارة الأدلة الرسمية حول نشر نماذج TensorFlow.
كيف يمكنني تثبيت الحزم اللازمة لتصدير نماذج YOLO26؟
لتصدير نماذج YOLO26، تحتاج إلى تثبيت ultralytics الحزمة. قم بتشغيل الأمر التالي في محطتك الطرفية:
pip install ultralyticsللحصول على تعليمات تثبيت أكثر تفصيلاً وأفضل الممارسات، ارجع إلى دليل تثبيت Ultralytics. إذا واجهت أي مشاكل، فاستشر دليل المشكلات الشائعة.
ما هي الميزات الرئيسية لتنسيق TensorFlow SavedModel؟
يعد تنسيق TF SavedModel مفيداً لمطوري الذكاء الاصطناعي بسبب الميزات التالية:
- قابلية النقل: يسمح بالمشاركة والنشر عبر بيئات مختلفة دون عناء.
- سهولة النشر: يغلف الرسم البياني الحسابي، والمعلمات المدربة، والبيانات الوصفية في حزمة واحدة، مما يبسط التحميل والاستنتاج.
- إدارة الأصول: يدعم الأصول الخارجية مثل المفردات، مما يضمن توفرها عند تحميل النموذج.
لمزيد من التفاصيل، استكشف توثيق TensorFlow الرسمي.