README aktualisiert:

Aufgabenteilung + KI Guideline eingefügt
This commit is contained in:
deschnerja104273 committed 2026-10-23 11:04:57 +02:00
1 parent 4bfe32c0da
commit a40f7788b0
1 file changed
+126
+126
View File
@@ -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