From a7f3969682916fde8e4878586d977e259ef95cbc Mon Sep 17 00:00:00 2001 From: poppni99154 Date: Thu, 27 Nov 2025 15:28:08 +0100 Subject: [PATCH] Versuch NeuronalesNetz zu schafffen, gescheitert --- neuralNetworkTests.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/neuralNetworkTests.c b/neuralNetworkTests.c index 73950f8..4a9fb11 100644 --- a/neuralNetworkTests.c +++ b/neuralNetworkTests.c @@ -27,24 +27,32 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) FILE *file = fopen(path, "wb"); if (!file) return; - // 1. Header - fputs(NN_HEADER, file); + // 1. Header (ohne \n!) + const char *header = "__info2_neural_network_file_format__"; + fwrite(header, sizeof(char), strlen(header), file); - // 2. Anzahl der Schichten - unsigned short layerCount = (unsigned short)nn.numberOfLayers; - fwrite(&layerCount, sizeof(unsigned short), 1, file); - - // 3. Jede Schicht schreiben + // 2. Schichten durchgehen for (unsigned int i = 0; i < nn.numberOfLayers; i++) { + unsigned int inputDim = (unsigned int)nn.layers[i].weights.cols; + unsigned int outputDim = (unsigned int)nn.layers[i].weights.rows; + + // 3. Dimensionen schreiben + fwrite(&inputDim, sizeof(unsigned int), 1, file); + fwrite(&outputDim, sizeof(unsigned int), 1, file); + + // 4. Matrizen schreiben writeMatrix(file, &nn.layers[i].weights); writeMatrix(file, &nn.layers[i].biases); } + // 5. Endsignal: letzte Output-Dimension = 0 + unsigned int zero = 0; + fwrite(&zero, sizeof(unsigned int), 1, file); + fclose(file); - - } + void test_loadModelReturnsCorrectNumberOfLayers(void) { const char *path = "some__nn_test_file.info2";