> 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/funktionsblocke/blocks-reference/data-logic/flow-control/batch-processing.md).

# Batch Processing

Dieser Funktionsblock sammelt mehrere Eingabewerte in einem einzigen Batch-Container, um den Speicherverbrauch während der Verarbeitung zu reduzieren. Verwenden Sie ihn, wenn Sie Elemente (Bilder, Daten oder generische Werte) zu einem einzigen Datenstrom gruppieren möchten, den andere Blöcke als Batch verarbeiten können.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

`Input 1`\
Erster Wert, der in den Batch aufgenommen werden soll. Kann Bilddaten, Zahlen, Text, Listen oder andere generische Werte sein.

`Input 2`\
Zweiter Wert, der in den Batch aufgenommen werden soll. Je nach Workflow können zusätzliche Eingänge verbunden werden.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Batch`\
Eine einzelne gebündelte Liste, die die verbundenen Eingabewerte für die Batch-Verarbeitung gruppiert enthält.

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

Dieser Funktionsblock hat keine interaktiven Steuerungen. Er arbeitet, indem er alles gruppiert, was an seine Eingangsanschlüsse angeschlossen ist.

## 🎯 Funktionen <a href="#features" id="features"></a>

* Gruppiert mehrere Eingaben in ein einzelnes, speicherfreundliches Batch-Objekt für die nachgelagerte Verarbeitung.
* Akzeptiert generische Datentypen, sodass Bilder, Zahlen, Text oder Listen gebatched werden können.
* Nützlich, um die Speicherauslastung zu verringern, wenn viele Elemente in einer Pipeline verarbeitet werden.

## 📝 How to use <a href="#usage" id="usage"></a>

1. Verbinden Sie die Elemente, die Sie gruppieren möchten, mit `Input 1` und `Input 2` (oder weiteren verfügbaren Eingängen).
2. Der Block gibt ein einzelnes `Batch` aus, das diese Eingaben als Liste enthält.
3. Führen Sie das `Batch`-Output in Blöcke ein, die Batch-stil-Eingaben akzeptieren, oder in Blöcke, die über das Batch iterieren können.

## ⚙️ Running behavior <a href="#evaluation" id="evaluation"></a>

Wenn das Szenario ausgeführt wird, sammelt der Funktionsblock die an seinen Eingangsanschlüssen vorhandenen Werte und gibt sie gebündelt als ein einzelnes `Batch` aus. Wenn ein Eingang fehlt oder ungültig ist, enthält der Batch einen Platzhalter für diesen Eintrag, sodass nachgelagerte Blöcke konsistent damit umgehen können.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Erstellen Sie gruppierte Bildmengen aus mehreren Quellen, indem Sie Bildeingänge wie `Load Image`, `Camera USB`, `Camera IP (ONVIF)` oder `Video` zu einem einzigen `Batch` für die Verarbeitung kombinieren.
* Verwenden Sie `Batch Processing` vor rechenintensiven AI-Blöcken wie `Object Detection`, `Mask Detection`, `Super Resolution` oder `OCR`, um die Spitzen im Speicherbedarf zu reduzieren, wenn viele Bilder verarbeitet werden.
* Nach der Batch-Verarbeitung verwenden Sie `Debatch`, um die Ergebnisse wieder in einzelne Elemente aufzuteilen, z. B. zum Zeichnen oder Speichern.
* Kombinieren Sie mehrere Batches mit `Batch Concatenation`, wenn Sie Batches zusammenführen müssen, die in verschiedenen Teilen eines Workflows erstellt wurden.
* Verwenden Sie `Get Batch Size` und `Get Element`, um Elemente innerhalb des `Batch` zu inspizieren oder darauf zuzugreifen, z. B. für bedingte Logik oder selektive Verarbeitung.
* Beim Speichern von Ergebnissen verbinden Sie die pro-Element-Ausgaben (nach `Debatch`) mit `Image Logger`, `Image Write` oder `Record Video`, um verarbeitete Bilder effizient zu speichern.

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

* Keine Daten im `Batch`: Überprüfen Sie, ob die vorgelagerten Blöcke Werte an den Eingängen erzeugen. Wenn ein Eingang absichtlich leer ist, erscheint dieser leere Slot im Batch.
* Unerwartete Reihenfolge der Elemente: Der Batch bewahrt die Reihenfolge der verbundenen Eingänge. Ändern Sie die Verbindungen, wenn eine andere Reihenfolge erforderlich ist.
* Nachgelagerte Blöcke akzeptieren das Batch nicht: Manche Blöcke erwarten einzelne Elemente statt Batches. Verwenden Sie `Debatch`, um ein Batch wieder in einzelne Elemente zu konvertieren, bevor Sie diese Blöcke speisen.
