> 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/german/wichtige-funktionen/train-custom-ai-models-with-training-window/after-training.md).

# 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/wichtige-funktionen/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>
