neuralNetworkTests fertig

This commit is contained in:
Thomas Rauh Desktop 2025-11-13 18:05:25 +01:00
parent de44588648
commit a3fa8f0892

View File

@ -9,26 +9,26 @@
static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn)
{ {
FILE *file = fopen(path, "wb"); FILE *file = fopen(path, "wb");
if (!file){ if (file==NULL){
printf("Fehler Dateierzeugung"); printf("Fehler Dateierzeugung");
return; return;
} }
char *file_header = "__info2_neural_network_file_format__"; char *file_header = "__info2_neural_network_file_format__";
fwrite(file_header, sizeof(char), strlen(file_header), file); //Header schreiben fwrite(file_header, sizeof(char), strlen(file_header), file); //Header schreiben
for(int i=0;i<sizeof(nn.numberOfLayers);i++){ //Jede Layer durchgehen fwrite(&nn.layers[0].weights.cols,sizeof(unsigned int),1,file); //Reihen
fwrite(&nn.layers[i].weights.cols,sizeof(unsigned int),1,file); //Reihen for(int i=0;i<nn.numberOfLayers;i++){ //Jede Layer durchgehen
fwrite(&nn.layers[i].weights.rows,sizeof(unsigned int),1,file); //Zeilen
fwrite(nn.layers[i].weights.buffer,sizeof(MatrixType),sizeof(nn.layers[i].weights.buffer),file); //Inhalt fwrite(&nn.layers[i].weights.rows,sizeof(unsigned int),1,file); //Zeilen
fwrite(nn.layers[i].biases.buffer,sizeof(MatrixType),sizeof(nn.layers[i].biases.buffer),file); fwrite(nn.layers[i].weights.buffer,sizeof(MatrixType),nn.layers[i].weights.rows*nn.layers[i].weights.cols,file); //Inhalt
fwrite(nn.layers[i].biases.buffer,sizeof(MatrixType),nn.layers[i].biases.rows*nn.layers[i].biases.cols,file);
} }
printf("Test\n");
fclose(file); fclose(file);
} }
@ -48,10 +48,8 @@ void test_loadModelReturnsCorrectNumberOfLayers(void)
NeuralNetwork expectedNet = {.layers=layers, .numberOfLayers=2}; NeuralNetwork expectedNet = {.layers=layers, .numberOfLayers=2};
NeuralNetwork netUnderTest; NeuralNetwork netUnderTest;
printf("Test\n");
prepareNeuralNetworkFile(path, expectedNet); prepareNeuralNetworkFile(path, expectedNet);
printf("Test\n");
netUnderTest = loadModel(path); netUnderTest = loadModel(path);
remove(path); remove(path);