Compare commits

2 Commits
Author SHA1 Message Date
starksa100587 0406b66173 Kommentare 2025-11-17 13:49:29 +01:00
stammjo100588 c84c6d3929 Kommentare 2025-11-17 13:48:14 +01:00
3 changed files with 10 additions and 9 deletions

No files matched your search

+3 -2
View File
@@ -47,7 +47,7 @@ static int readHeader(FILE *file, unsigned int *count, unsigned int *width, unsi
}
// Liest eine Serie von Graustufenbildern aus der angegebenen Datei.
// Liest eine Serie von Graustufenbildern aus der angegebenen Datei und speichert sie als Series (images[i])
GrayScaleImageSeries *readImages(const char *path)
{
GrayScaleImageSeries *series = NULL; // Zeiger auf die gesamte Struktur. Standardmäßig NULL.
@@ -77,12 +77,13 @@ GrayScaleImageSeries *readImages(const char *path)
return NULL;
}
series->count = count; // Anzahl der Bilder setzen.
series->count = count; // Anzahl der Bilder setzen.(kommt von typedef GrayScaleImageSeries)
series->images = NULL; // Pointer vorläufig auf NULL setzen (für clearSeries im Fehlerfall).
series->labels = NULL;
size_t num_pixels = (size_t)width * height; //berechnet die Anzahl der Pixel pro Bild (size_t weil pixelanzahl groß sein kann)
//GrayScaleImage größe ist als typedef schon definiert.
series->images = (GrayScaleImage *)malloc(count * sizeof(GrayScaleImage)); //reserviert Speicher
if (series->images == NULL)
{
+2 -2
View File
@@ -128,8 +128,8 @@ NeuralNetwork loadModel(const char *path)
{
if(checkFileHeader(file))
{
unsigned int inputDimension = readDimension(file);
unsigned int outputDimension = readDimension(file);
unsigned int inputDimension = readDimension(file); // übergabe in neuralnetworktests
unsigned int outputDimension = readDimension(file); // übergabe in neuralnetworktests
while(inputDimension > 0 && outputDimension > 0)
{
+5 -5
View File
@@ -19,8 +19,8 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn)
for (unsigned int i = 0; i < nn.numberOfLayers; ++i)
{
const Layer *lay = &nn.layers[i];
int inputDim = (int)lay->weights.cols;
int outputDim = (int)lay->weights.rows;
int inputDim = (int)lay->weights.cols; // Die Anzahl der Spalten der Gewichtsmatrix ist immer gleich der Input-Dimension
int outputDim = (int)lay->weights.rows; // Anzahl der Reihen der Gewichtsmatrix ist immer gleich der Output-Dimension
// --- Spezifische Dimensions-Schreiblogik (Spiegelung der Leselogik) ---
if (i == 0) {
@@ -37,9 +37,9 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn)
// --- Matrizen-Daten schreiben ---
// Schreibe Gewichtsmatrix (Daten):
size_t weightCount = (size_t)lay->weights.rows * (size_t)lay->weights.cols; //size_t unsignierter ganzzahltyp
if (weightCount > 0 && lay->weights.buffer != NULL) {
// Schreibe alle MatrixType-Elemente (z.B. floats) der Gewichte.
size_t weightCount = (size_t)lay->weights.rows * (size_t)lay->weights.cols; // Gesamtanzahl der Elemente in der Gewichtsmatrix berechnet (rows x cols) //size_t unsignierter ganzzahltyp
if (weightCount > 0 && lay->weights.buffer != NULL) { //Prüfung ob dimensionen > 0 & Datenpuffer existiert
// Schreibe alle MatrixType-Elemente (z.B. floats) der Gewichte, Anzahl usw.
fwrite(lay->weights.buffer, sizeof(MatrixType), weightCount, file);
}