From 53a7828cf0a1f0bc9248742116580699ac4d0dea Mon Sep 17 00:00:00 2001 From: Laila Date: Sun, 16 Nov 2025 22:00:43 +0100 Subject: [PATCH] =?UTF-8?q?prepareNeuralNetworkFile=20angepasst,=20sodass?= =?UTF-8?q?=20Test=20PASS=20l=C3=A4uft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../neuralNetworkTests.c | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/info2praktikum-neuronalesnetz/neuralNetworkTests.c b/info2praktikum-neuronalesnetz/neuralNetworkTests.c index 75740d5..783127b 100644 --- a/info2praktikum-neuronalesnetz/neuralNetworkTests.c +++ b/info2praktikum-neuronalesnetz/neuralNetworkTests.c @@ -22,12 +22,19 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) for (unsigned int i = 0; i < nn.numberOfLayers; i++) { Layer layer = nn.layers[i]; - unsigned int inputDim = layer.weights.cols; // Anzahl Eingänge - unsigned int outputDim = layer.weights.rows; // Anzahl Ausgänge - // Dimensionen schreiben - fwrite(&inputDim, sizeof(unsigned int), 1, file); - fwrite(&outputDim, sizeof(unsigned int), 1, file); + if(i == 0){ + // beim ersten Layer inputDim und outputDim schreiben + unsigned int inputDim = layer.weights.cols; // Anzahl Eingänge + fwrite(&inputDim, sizeof(unsigned int), 1, file); + unsigned int outputDim = layer.weights.rows; // Anzahl Ausgänge + fwrite(&outputDim, sizeof(unsigned int), 1, file); + } + else{ + // bei allen anderen Layern nur outputDim schreiben + unsigned int outputDim = layer.weights.rows; // Anzahl Ausgänge + fwrite(&outputDim, sizeof(unsigned int), 1, file); + } // Gewichte schreiben size_t weightCount = layer.weights.rows * layer.weights.cols; @@ -38,8 +45,7 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) fwrite(layer.biases.buffer, sizeof(MatrixType), biasCount, file); } - - // End-Marker (inputDim = 0) + // End-Marker (outputDim = 0) unsigned int zero = 0; fwrite(&zero, sizeof(unsigned int), 1, file);