Versuch NeuronalesNetz zu schafffen, gescheitert

This commit is contained in:
Niklas Popp 2025-11-27 15:28:08 +01:00
parent a7ce1d0897
commit a7f3969682

View File

@ -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";