From a40f7788b0735d4a09f77352f45bda6200e54bfe Mon Sep 17 00:00:00 2001 From: Jamin Deschner Date: Fri, 23 Oct 2026 11:04:57 +0200 Subject: [PATCH] =?UTF-8?q?README=20aktualisiert:=20Aufgabenteilung=20+=20?= =?UTF-8?q?KI=20Guideline=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Startcode/README.md | 126 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/Startcode/README.md b/Startcode/README.md index e64a583..caff5ff 100644 --- a/Startcode/README.md +++ b/Startcode/README.md @@ -1,5 +1,17 @@ # Aufgabenverteilung: + +| Flo | Jamin | +|---|---| +| Matrixfunktionen | Image-Ladefunktionen | +| Matrixmultiplikation | Dateiformat verstehen | +| Broadcasting | Datei einlesen | +| Speicherverwaltung | Speicherverwaltung | +| NN-Testdatei schreiben | clearSeries | +| ca. 50–55 % | ca. 45–50 % | + +--- + ## imageInput: - Implementieren Sie geeignete Hilfsfunktionen für das Lesen der Bildserie aus einer Datei - Vervollständigen Sie die Funktion readImages unter Benutzung Ihrer Hilfsfunktionen @@ -11,3 +23,117 @@ ## neuralNetworkTests: - prepareNeuralNetworkFile +--- + + +# Co-Pilot Guideline: + +--- + +## Aufgabe 1: Matrix-Modul implementieren + +### Matrix-Struktur erstellen + +Eine geeignete `struct Matrix` definieren, die mindestens enthält: + +- Anzahl der Zeilen +- Anzahl der Spalten +- Speicherbereich für die Matrixwerte + +### Fehlende Funktionen implementieren + +Alle TODOs in `matrix.c` bearbeiten. + +Besonderes Augenmerk auf die Funktion: + +```c +add() +``` + +Anforderungen: + +- Elementweise Addition zweier Matrizen gleicher Größe +- Broadcasting einer Spaltenvektor-Matrix auf eine größere Matrix + +### Tests ausführen + +```bash +make matrixTests +./runMatrixTests +``` + +--- + +## Aufgabe 2: Bilder einlesen + +Die Datei `mnist_test.info2` enthält die Testbilder im Binärformat. + +### Vorgehensweise + +1. Sinnvolle Hilfsfunktionen in `imageInput.c` erstellen +2. Diese als `static` deklarieren +3. Eigene Unit-Tests ergänzen +4. Funktion `readImages()` implementieren + +### Tests ausführen + +```bash +make imageInputTests +./runImageInputTests +``` + +--- + +## Aufgabe 3: Neuronales Netz testen + +In `neuralNetworkTests.c` die Funktion + +```c +prepareNeuralNetworkFile() +``` + +implementieren. + +### Ziel + +- Eine gültige Testdatei für die Unit-Tests generieren +- Die erwartete Dateistruktur einhalten + +### Tests ausführen + +```bash +make neuralNetworkTests +./runNeuralNetworkTests +``` + +--- + +## Abschluss + +Vor der Abgabe sicherstellen, dass: + +- Alle Unit-Tests erfolgreich sind +- Keine Compiler-Warnungen auftreten +- Das Gesamtprogramm korrekt funktioniert + +### Endprogramm kompilieren + +```bash +make mnist +``` + +### Programm ausführen + +```bash +./mnist mnist_test.info2 mnist_model.info2 +``` + +--- + +## Optionale Erweiterung + +Mit der Bibliothek **Raylib** eine grafische Oberfläche erstellen: + +- Ziffern mit der Maus zeichnen +- Zeichnung als Eingabe für das neuronale Netz verwenden +- Klassifikation direkt anzeigen