> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/almyzat-alreysyh/train-custom-ai-models-with-training-window/after-training.md).

# بعد التدريب

أنت الآن قريب من نشر النموذج — هذه النقطة التي تحول فيها "الأرقام" إلى نموذج يعمل فعليًا في سير العمل الواقعي لديك.

***

## 1) اعثر على مخرجات التدريب (weights + config + names)

عند انتهاء التدريب، تعرض رسائل السجل/الحالة مكان حفظ المخرجات.

في AugeLab Studio، عادةً ما تُنشأ مخرجات التدريب داخل مجلد اسمه:

**XXX\_config**

بجوار مجلد بياناتك (XXX هو اسم مجلد مجموعة البيانات).

الهيكل النموذجي:

```
XXX_config/
    XXX.names
    XXX.cfg
    backup/
        XXX_last.weights  (إذا كان متوفرًا)
        XXX_best.weights  (إذا كان متوفرًا)
```

على الأقل، احتفظ بهذه الملفات معًا:

* ملف الأوزان: `.weights` (أحيانًا يوجد ملفان بنمط best مقابل last)
* ملف الإعدادات: `.cfg`
* ملف أسماء الفئات: `.names`

**⚠️ تحذير:**\
لا تعيد تسمية/إعادة ترتيب الفئات في ملف `.names` بعد التدريب إلا إذا قمت أيضًا بإعادة تعيين معرفات الملصقات (label IDs). ترتيب الفئات يجب أن يطابق معرفات الملصقات.

<details>

<summary><strong>أي weights أستخدم: best أم last؟</strong></summary>

إذا أظهر التدريب مقياس mAP أثناء التدريب، فبعض سلاسل العمل لـ YOLO/Darknet تحتفظ بنقطة حفظ "الأفضل حتى الآن".

* استخدم **best** عندما يتحسن mAP ثم ينخفض لاحقًا (overfitting).
* استخدم **last** إذا انتهى التدريب بينما كان mAP لا يزال يتحسن ومستقرًا.

إذا لم يكن لديك ملف "best"، فاختر ملف الأوزان النهائي أولًا ثم تحقق من الأداء.

</details>

***

## 2) تحقق من النموذج قبل النشر

قبل ربط النموذج بمنطق الإنتاج، قم بتمرير تحقق سريع.

مجموعات التحقق الموصى بها:

* **مجموعة التحقق (Validation set)**: 30–100 صورة تمثل الواقع (إضاءة جيدة/ضعيفة، تشويش، فوضى، حالات حافة)
* **مقاطع فيديو قصيرة أو صور**: فيديو قصير من الكاميرا الحقيقية (إذا كنت ستنشر على كاميرا ثابتة)

ما الذي تبحث عنه:

* هل النموذج يكتشف الكائن الصحيح باستمرار؟
* هل الصناديق (boxes) "جيدة بما يكفي" للمنطق لديك (قد لا تكون مثالية)؟
* هل الإيجابيات الكاذبة مقبولة أم يمكن تصفيتها؟
* هل الحالات النادرة والمهمة تُكتشف؟

**⚠️ تحذير:**\
قيمة mAP العالية قد تفشل في الإنتاج إذا كانت مجموعة التحقق صغيرة جدًا أو نظيفة جدًا. فحص مجموعة التحقق/المشاهد الحقيقية يمنع ذلك.

***

## 3) حمّل النموذج داخل Studio (Inference)

في AugeLab Studio، الخطوة التالية المعتادة هي بناء (أو تحديث) سيناريو `.pmod` يقوم بالتشغيل للـ inference.

### A) استخدم “Object Detection - Custom” (موصى به)

استخدم هذا البلوك عندما تريد تشغيل نموذجك المدرب عبر YOLO/Darknet داخل سير العمل.

سير العمل:

1. أضف **Object Detection - Custom** إلى الرسم البياني (فئة AI Applications).
2. في واجهة البلوك:
   * اضغط **Open Weight File** واختر ملف `.weights`
   * اضغط **Open Config File** واختر ملف `.cfg`
   * اضغط **Open Class File** واختر ملف `.names`
3. اختر الفئات التي تريد اكتشافها (قائمة اختيارات).
4. اضبط **Confidence Threshold** (ابدأ بقيمة حوالي 0.5–0.8 وقم بضبطها).
5. وصل مصدر الصورة إلى مدخل البلوك ومعاينة صورة المخرجات.

المخرجات التي يمكنك استخدامها في المنطق:

* صورة مخرجة مع رسم الاكتشافات
* Object Count
* Object Locations / Sizes
* Object Classes
* Rectangles

**ℹ️ ملاحظة:**\
إذا لم يكن “Object Detection - Custom” متوفرًا، قد لا يكون البناء لديك مفعّلًا بدعم CUDA/OpenCV DNN. جرب بلوك الـ CPU أدناه، أو قم بتثبيت الوحدات المطلوبة من Module Downloader (انظر ai-training.md).

### B) استخدم “Object Detection - Custom (CPU)” (خيار احتياطي)

استخدم هذا البلوك لنفس سير العمل لكن بدون تسريع GPU.

* يعمل على CPU، لذا سيكون أبطأ.
* الإعداد هو نفسه: weights + cfg + names.

***

## 4) ضبط العتبات (ما يهم فعلاً)

معظم تحسينات "جودة النشر" تأتي من ضبط العتبات، وليس من تدريب أطول.

ابدأ بهذه الخطوات العملية:

* زد قيمة الثقة (confidence threshold) إذا رأيت الكثير من الإيجابيات الكاذبة.
* خفّض قيمة الثقة إذا كنت تفوت اكتشاف بعض الأشياء.
* قيّم على مجموعة الذهب (golden set) وعلى مقطع كاميرا حقيقي واحد على الأقل.

**⚠️ تحذير:**\
لا تضبط على صورة واحدة فقط. اضبط دائمًا على مجموعة صغيرة. وإلا ستقوم "بفوق التكيّف" (overfit) للعتبة على مشهد واحد.

***

## 5) حزّم النموذج للمشاركة / إعادة الإنتاج

إذا أردت أن يكون النموذج قابلاً للاستخدام لاحقًا (أو من قِبل شخص آخر)، فقُم بتغليفه بشكل منظم.

مجلد موصى به:

```
my_model_release/
    model.weights
    model.cfg
    classes.names
    README.txt
    validation_set/   (اختياري)
```

ما تكتبه في README:

* مجموعة البيانات التي درّب عليها النموذج (الإصدار/التاريخ)
* معنى الفئات (إن كانت غامضة)
* نطاق عتبة الثقة الموصى به
* حالات الفشل المعروفة (وميض الضوء، الأشياء الصغيرة جدًا، التغطية الشديدة)

**ℹ️ ملاحظة:**\
إذا كان سيناريو `.pmod` يشير إلى هذه الموارد، ففكر في الاحتفاظ بها كمصادر نسبية للمشروع حتى يظل السيناريو قابلًا للنقل. انظر أيضًا: headless-studio (سلوك تحميل الموارد المفقودة).

***

## 6) إذا فشل في الإنتاج (ما التالي)

عندما يفشل النموذج بعد النشر، يكون الإصلاح عادة واحدًا من هذه الخطوات (بالترتيب):

1. **اجمع حالات الفشل** (احفظ الإطارات التي تُظهر الفشل/الإيجابيات الكاذبة)
2. **قم بتوسيمها بشكل صحيح** (label them)
3. **أعد التدريب أو قم بالتغذية الدقيقة (fine-tune)** باستخدام البيانات الجديدة

هذه هي الطريقة التي تُصبح بها النماذج أكثر قوة.

<details>

<summary><strong>أوضاع الفشل الشائعة وأسرع إصلاح</strong></summary>

* الإيجابيات الكاذبة على نسيج الخلفية → أضف أمثلة سلبية من نفس البيئة بالضبط
* الفشل في اكتشاف الأشياء الصغيرة → زد حجم الإدخال (إن سمح الـ GPU) واجمع أمثلة لأشياء صغيرة أكثر
* الفشل تحت الوهج/الطُّرْد (glare/blur) → أضف هذه الحالات عمدًا إلى مجموعة البيانات (لا تعتمد فقط على Augmentation)
* الصناديق دائمًا واسعة جدًا/ضيقة جدًا → أصلح اتساق نمط التعليقات (annotation) ثم أعد التدريب

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.augelab.com/arabic/almyzat-alreysyh/train-custom-ai-models-with-training-window/after-training.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
