From c1b20e632b0f4d93b8b128d11e19e672a12f7738 Mon Sep 17 00:00:00 2001 From: Tobias Busch Date: Mon, 24 Nov 2025 22:29:23 +0100 Subject: [PATCH] neuralNetworkTests v1 --- neuralNetworkTests.c | 27 +++++++++++++++++- runImageInputTests | Bin 61088 -> 61088 bytes .../Resources/DWARF/runImageInputTests | Bin 38480 -> 38480 bytes runMatrixTests | Bin 61712 -> 61712 bytes .../Contents/Resources/DWARF/runMatrixTests | Bin 41628 -> 41628 bytes 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/neuralNetworkTests.c b/neuralNetworkTests.c index 21ab370..6cc4303 100644 --- a/neuralNetworkTests.c +++ b/neuralNetworkTests.c @@ -8,7 +8,32 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) { - // TODO + FILE *file = fopen(path, "wb"); + + if(file != NULL){ + const char *fileTag = "__info2_neural_network_file_format__"; + fwrite(fileTag, sizeof(fileTag[0]), strlen(fileTag), file); + + int inputDimension = nn.layers[0].weights.cols; + fwrite(&inputDimension,sizeof(inputDimension), 1, file); + + for (int i = 0; i < nn.numberOfLayers; i++) + { + unsigned int outputDimension = nn.layers[i].weights.rows; + fwrite(&outputDimension, sizeof(outputDimension), 1, file); + + unsigned int numWeights = nn.layers[i].weights.rows * nn.layers[i].weights.cols; + fwrite(nn.layers[i].weights.buffer, sizeof(MatrixType), numWeights, file); + + unsigned int numBiases = nn.layers[i].biases.rows * nn.layers[i].biases.cols; + fwrite(nn.layers[i].biases.buffer, sizeof(MatrixType), 1, file); + } + + unsigned int outputDimension = 0; + fwrite(&outputDimension, sizeof(outputDimension), 1, file); + + fclose(file); + } } void test_loadModelReturnsCorrectNumberOfLayers(void) diff --git a/runImageInputTests b/runImageInputTests index 6ee9ae78baa9c7e49c0f8f55115f55a8d3975232..2b262f46a121c890eeb87e3b39764d16ba1c9e68 100755 GIT binary patch delta 187 zcmV;s07U|g;Py&}f`Sf$@wC*^3W;X*+mQ#oB*VfFabU-Ka`fEWL6 plV9#2Aq$_U0+WJvS_euBAoH+Aj|N#3w6ICh0H7wdQs3gvWdQ$)SYiMG delta 187 zcmV;s07U|g;Pxq_E21)uBVFl>f*ET_XI#&mcX0Jl#gjBN{BE?V{W plV9#2A+OW3Bx6rg0mkeXtjHhZkl#iR6}wg*sN<;!E)1S{IskxBP}Beb diff --git a/runImageInputTests.dSYM/Contents/Resources/DWARF/runImageInputTests b/runImageInputTests.dSYM/Contents/Resources/DWARF/runImageInputTests index 88955c8de48655e4b8f25a298a245535d239ef48..5bb79474e933804d917b9dd07166598b44fb9f7e 100644 GIT binary patch delta 276 zcmcbxhUvl@rU@DXGp~7{iHWpxYkJVicO>L@#zu=+Wzlvi-%ouzCV890GYM4w4>k5; zWME*NT&N&2d7p9|oi3R)&zA8)%3>-`o zGk6*NL83rriUvc79s`KkuOP?}3T4U&F@!;x0-_8NdO&U5j1piS{X7y3^$H*XCJ%@{ z4j+b&$+`YpLQO%!Tul8yEv6tXKqdz-gDJ%RewJ{cC`1QC1cNz<$-vIG0Z20DMl#HX XD4q>c%+2ltQO6>|uxN8xz%5q*VO%|; delta 276 zcmcbxhUvl@rU@DX4G-=}tnV<1ne*pza?&!p4I3?Dl|?nRjTU~0;PI|mCD_RpA@1bG z$iTojxllo5@;>D_#&erxRhBX`ewut(wVbhKv$fh;ja0u4KqXvE6ASnm{8X427&w?F zX7DlufJA}J6b*(@Jq8f7UqO%|49b)dVhD#a1wewHkei`_91?_lgscRC25>= lC0-n>Cg1BW){fJG_+hpFVV;LQ?a&;=zC!hCp8x;=0077@QAhv) diff --git a/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests b/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests index d37b96a0794afed9cee52de6b8f61f732c29b8f1..1ecd83f0122e76e7d75eaa0a15a2ea4889344db6 100644 GIT binary patch delta 29 lcmbPplxfaUrU@DXOFTZr9Wb{GoL^bWGKcxC!A6UeMF74g42u8& delta 29 ncmV+&0OJ3g#R8ng0+1*W@Wsv0mtZpdp1e{~M%fG-u{dO++x`wX