# Nach dem Training

Sie sind nun kurz davor, Ihr Modell bereitzustellen — an diesem Punkt verwandeln Sie die „Zahlen“ in ein Modell, das in Ihrem echten Workflow funktioniert.

***

## 1) Finden Sie Ihre Trainingsausgabe (weights + config + names) <a href="#id-1-find-output" id="id-1-find-output"></a>

Wenn das Training endet, zeigen die Log-/Statusmeldungen, wohin die Ausgaben geschrieben wurden.

In AugeLab Studio werden Trainingsausgaben typischerweise in einem Ordner mit folgendem Namen erstellt:

**XXX\_config**

direkt neben Ihrem Datensatzordner (wobei **XXX** der Name Ihres Datensatzordners ist).

Typische Struktur:

```
XXX_config/
    XXX.names
    XXX.cfg
    backup/
        XXX_last.weights  (falls vorhanden)
        XXX_best.weights  (falls vorhanden)
```

Mindestens sollten Sie diese Dateien zusammen aufbewahren:

* Gewichtsdatei: **`.weights`** (manchmal gibt es ein **best** vs **last** Style-File)
* Konfigurationsdatei: **`.cfg`**
* Klassennamen-Datei: **`.names`**

> ⚠️ Warnung\
> Benennen Sie die Klassen in Ihrer `.names`-Datei nach dem Training nicht um und ändern Sie nicht die Reihenfolge, es sei denn, Sie remappen auch die Label-IDs. Die Reihenfolge der Klassen muss mit den Label-IDs übereinstimmen.

<details>

<summary><strong>Welche weights-Datei sollte ich verwenden: best vs last?</strong></summary>

Wenn Ihr Training während des Laufs mAP meldet, halten viele YOLO/Darknet-Workflows einen „Best so far“-Checkpoint.

* Verwenden Sie **best**, wenn mAP sich verbessert hat und später wieder abgesunken ist (Overfitting).
* Verwenden Sie **last**, wenn das Training endete, während mAP noch verbessert und stabil war.

Wenn Sie keine „best“-Datei haben, wählen Sie zuerst die finale weights-Datei und validieren Sie danach.

</details>

***

## 2) Validieren Sie das Modell, bevor Sie es bereitstellen <a href="#id-2-validate-before-deploy" id="id-2-validate-before-deploy"></a>

Bevor Sie das Modell in Ihre Produktionslogik einbinden, führen Sie einen schnellen Validierungsdurchlauf durch.

Empfohlene Validierungssets:

* **Validation set**: 30–100 Bilder, die das reale Umfeld repräsentieren (gute + schlechte Beleuchtung, Unschärfe, Unordnung, Randfälle)
* **Short videos or images**: Kurzes Video von der echten Kamera (wenn Sie auf einer festen Kamera bereitstellen)

Worauf Sie achten sollten:

* Das Modell erkennt das richtige Objekt konsistent.
* Die Bounding-Boxen sind „gut genug“ für Ihre Logik (nicht unbedingt perfekt).
* Falschpositive sind akzeptabel (oder lassen sich filtern).
* Seltene, aber wichtige Fälle werden erkannt.

> ⚠️ Warnung\
> Ein hoher mAP-Wert kann in der Produktion trotzdem versagen, wenn Ihr Validierungs-Split zu klein oder zu sauber war. Die Validierung mit realem Filmmaterial verhindert das.

***

## 3) Laden Sie das Modell in ein Studio (Inference) <a href="#id-3-load-into-graph" id="id-3-load-into-graph"></a>

In AugeLab Studio ist der übliche nächste Schritt, ein (oder ein aktualisiertes) `.pmod`-Szenario zu erstellen, das Inferenz ausführt.

### A) Verwenden Sie „Object Detection - Custom“ (empfohlen) <a href="#id-3a-use-object-detection-custom" id="id-3a-use-object-detection-custom"></a>

Nutzen Sie diesen Node, wenn Sie Ihr eigenes YOLO/Darknet-trainiertes Modell innerhalb eines Workflows ausführen möchten.

Workflow:

1. Fügen Sie **Object Detection - Custom** zu Ihrem Graph (Kategorie AI Applications) hinzu.
2. In der Block-UI:
   * Klicken Sie auf **Open Weight File** und wählen Sie Ihre `.weights` aus
   * Klicken Sie auf **Open Config File** und wählen Sie Ihre `.cfg` aus
   * Klicken Sie auf **Open Class File** und wählen Sie Ihre `.names` aus
3. Wählen Sie aus, welche Klassen Sie erkennen möchten (Checkbox-Liste).
4. Setzen Sie **Confidence Threshold** (anfangs ca. 0.5–0.8 und feinjustieren).
5. Verbinden Sie eine Bildquelle mit dem Block-Eingang und überprüfen Sie das Ausgabebild.

Ausgaben, die Sie in Ihrer Logik verwenden können:

* Ausgabe-Bild mit gezeichneten Erkennungen
* Object Count
* Object Locations / Sizes
* Object Classes
* Rectangles

> ℹ️ Info\
> Wenn **Object Detection - Custom** nicht verfügbar ist, wurde Ihre Build-Version möglicherweise ohne CUDA/OpenCV DNN-Unterstützung kompiliert. Versuchen Sie den CPU-Block unten oder installieren Sie die benötigten Module über den Module Downloader (siehe ai-training.md / README).

### B) Verwenden Sie „Object Detection - Custom (CPU)“ (Fallback) <a href="#id-3b-use-object-detection-custom-cpu" id="id-3b-use-object-detection-custom-cpu"></a>

Verwenden Sie diesen Block, wenn Sie denselben Workflow ohne GPU-Beschleunigung benötigen.

* Die Inferenz läuft auf der CPU, daher langsamer.
* Die Einrichtung ist gleich: weights + cfg + names.

***

## 4) Schwellenwerte feinabstimmen (was wirklich zählt) <a href="#id-4-tune-thresholds" id="id-4-tune-thresholds"></a>

Die meisten Verbesserungen für die Produktionsqualität ergeben sich aus dem Abstimmen der Schwellenwerte, nicht unbedingt aus längeren Trainingsläufen.

Praktische Schritte:

* Erhöhen Sie den Confidence Threshold, wenn Sie zu viele Falschpositive sehen.
* Verringern Sie den Confidence Threshold, wenn Objekte übersehen werden.
* Evaluieren Sie auf dem goldenen Set und mindestens einem echten Kamera-Clip.

> ⚠️ Warnung\
> Stimmen Sie nicht anhand eines einzelnen Bildes ab. Abstimmen Sie immer auf einer kleinen Menge, sonst passen Sie den Schwellenwert an eine einzelne Szene an (Überanpassung).

***

## 5) Paketieren für Weitergabe / Reproduzierbarkeit <a href="#id-5-package" id="id-5-package"></a>

Wenn das Modell später (oder von jemand anderem) verwendbar sein soll, paketieren Sie es bewusst.

Empfohlenes Ordnerlayout:

```
my_model_release/
    model.weights
    model.cfg
    classes.names
    README.txt
    validation_set/   (optional)
```

Was in die README sollte:

* Auf welchem Datensatz das Modell trainiert wurde (Version/Datum)
* Was die Klassen bedeuten (falls mehrdeutig)
* Empfohlener Bereich für den Confidence Threshold
* Bekannte Fehlermodi (Spiegelungen, winzige Objekte, starke Verdeckung)

> ℹ️ Info\
> Wenn Ihr `.pmod`-Szenario auf diese Ressourcen verweist, behalten Sie sie als relative Projektressourcen, damit das Szenario portabel bleibt. Siehe auch: [headless-studio](/german/hauptfunktionen/headless.md) (Fehlverhalten beim Laden fehlender Ressourcen).

***

## 6) Wenn es in der Produktion fehlschlägt (was als Nächstes zu tun ist) <a href="#id-6-if-it-fails" id="id-6-if-it-fails"></a>

Wenn ein Modell nach der Bereitstellung versagt, ist die Lösung in der Regel eine der folgenden (in dieser Reihenfolge):

1. **Sammeln Sie die Fehlfälle** (speichern Sie Frames, die das Versagen / False-Positive zeigen)
2. **Labeln Sie sie korrekt**
3. **Retrain oder Fine-Tune** mit den neuen Daten

So werden Modelle robust.

<details>

<summary><strong>Häufige Fehlerarten und die schnellste Abhilfe</strong></summary>

* Falschpositive durch Hintergrundtextur → Fügen Sie Negative aus genau dieser Umgebung hinzu.
* Treffer-Verluste bei kleinen Objekten → Erhöhen Sie die Eingangsgröße (wenn die GPU es erlaubt) und sammeln Sie mehr Beispiele für kleine Objekte.
* Treffer-Verluste bei Blendung/Unschärfe → Fügen Sie diese Fälle absichtlich dem Datensatz hinzu (verlassen Sie sich nicht nur auf Augmentation).
* Boxen sind durchgängig zu locker/zu eng → Stellen Sie die Konsistenz der Annotationen sicher und trainieren Sie neu.

</details>


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/german/hauptfunktionen/train-custom-ai-models-with-training-window/after-training.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
