From 6b5d94b075365c08d203c8149a1cc89d49b4548d Mon Sep 17 00:00:00 2001 From: Anton Timofeev Date: Thu, 20 Nov 2025 18:20:13 +0100 Subject: [PATCH] Implement prepareNeuralNetworkFile and fix neuralNetwork/matrix --- .DS_Store | Bin 0 -> 10244 bytes .idea/.gitignore | 8 + .idea/editor.xml | 580 ++++++++++++++++++ .idea/misc.xml | 13 + .idea/vcs.xml | 6 + matrix.h | 5 +- matrix.o | Bin 0 -> 3288 bytes neuralNetwork.c | 2 +- neuralNetwork.o | Bin 0 -> 13944 bytes neuralNetworkTests.c | 45 +- runMatrixTests | Bin 0 -> 61536 bytes runMatrixTests.dSYM/Contents/Info.plist | 20 + .../Contents/Resources/DWARF/runMatrixTests | Bin 0 -> 39892 bytes .../Relocations/aarch64/runMatrixTests.yml | 5 + runNeuralNetworkTests | Bin 0 -> 63352 bytes .../Contents/Info.plist | 20 + .../Resources/DWARF/runNeuralNetworkTests | Bin 0 -> 48520 bytes .../aarch64/runNeuralNetworkTests.yml | 5 + some__nn_test_file.info2 | Bin 0 -> 120 bytes 19 files changed, 701 insertions(+), 8 deletions(-) create mode 100644 .DS_Store create mode 100644 .idea/.gitignore create mode 100644 .idea/editor.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 matrix.o create mode 100644 neuralNetwork.o create mode 100755 runMatrixTests create mode 100644 runMatrixTests.dSYM/Contents/Info.plist create mode 100644 runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests create mode 100644 runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml create mode 100755 runNeuralNetworkTests create mode 100644 runNeuralNetworkTests.dSYM/Contents/Info.plist create mode 100644 runNeuralNetworkTests.dSYM/Contents/Resources/DWARF/runNeuralNetworkTests create mode 100644 runNeuralNetworkTests.dSYM/Contents/Resources/Relocations/aarch64/runNeuralNetworkTests.yml create mode 100644 some__nn_test_file.info2 diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2ebbfdafe31aa1fe412256beadb2c2fd74f86292 GIT binary patch literal 10244 zcmeHM%We}f6us_qs$suN~PTB2j2nmx*j5vXEJ3r&07t z{GD?ujYK{7AqDV6HQFYhj;KXpO51c81`Gp+0mFb{z%XzX7{G5fCo7|*DGdXL0mDF# z0X`pWWS03zc9fJy2MT!wfE+`&OsL}?ATf3%^O5W*DWR~bZVw`Yis*_V6dd1eR)@?- zvZJJelTdIH(a0jYp$IuTaJEz@kyp}`h5^GsngPDMPm@cBRHnVy{e6il+g?y{yug7D zZ>vq@rC&0kHW;^`z)%Q0 zV@AC|z<9^f!7fUNtx+>>Pt3#KXKnoXKK6JcR4!qQ15KaX-9EP3GDxckzP1eOKh2NB zP`9c02@$j|ouv7c+z-=FZbWQgaYI}GjGS}V{*VpGo`@l5f%Gve-moRq1FC{=4|8PC z*U?@{aE~n} z4F^&~&f*2?A-o=-eUSDX?*#E)^Tcp;Vr=OR9X&T>>>*y|V>LF51>$-08kjp~laFMz zmNWQy6W{9inc)3Zg9dw_z3!pkNBGnA7zVBx1EXp^b_VkK;Q#-x*{aQQ3 + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..bedf918 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/matrix.h b/matrix.h index cc640d1..43825a1 100644 --- a/matrix.h +++ b/matrix.h @@ -5,8 +5,6 @@ typedef float MatrixType; -// TODO Matrixtyp definieren - Matrix createMatrix(unsigned int rows, unsigned int cols); void clearMatrix(Matrix *matrix); @@ -15,5 +13,4 @@ MatrixType getMatrixAt(const Matrix matrix, unsigned int rowIdx, unsigned int co Matrix add(const Matrix matrix1, const Matrix matrix2); Matrix multiply(const Matrix matrix1, const Matrix matrix2); - -#endif +#endif \ No newline at end of file diff --git a/matrix.o b/matrix.o new file mode 100644 index 0000000000000000000000000000000000000000..f4784ba7df4aa5cd4418d3b0d998725e1440482f GIT binary patch literal 3288 zcmbtWZ)_A*5TE^bx7WS)dOf&Oiu5EsC|d8@N`#0&OADcJ#0pg)n5^5oy>fPM_uShn zkeEPF6Jq=TF(kx4Q4ja*FI$m@$vp7NfD0M4^=g%PgEvVZDPXKr-^@L-_V}zH4~rbJvMWZ z#aAer<_#)Sg4EgnOadVFT(dBpNFPo+z4$iI#3{GVZb!^qRn7Vr(=;xdHytOzR0U2`&`dBB&HuHZPz z{V0iU3_*=-2($%uO{o31cJ~$d_C^FQ%qno4jSN5a)& z0knZC`dperpPNCrP_w6Xv`4P$9M0bqkh5#>Qf>Y6y#Jg4RrIaih~YEa@tK#|GakT( zi*m_iOcIhOUQYgcENQp5ws$6@oo#_~J03`iBlV|a9fQk+9#HA5IJl4li##Jp8v-pW-$>cZ!Qx#mDC7YYXGNn8^IWmi$eU}%_T!ZOIg zpcta?q%rIiE+99FVu*;FsDm8BFTyF**CVD7_%VRxdr_w-9S^ErnQz*ofGQ*ohb_l?*+RH8gWFF|FI>f@LQ9*QfeYeTg1-_Obr;eSN8Q z`0HN_Ma{7bM^afxX9^RxW*<$D=+nAkm2^8jY!!=|nag0w7`H5=oZdUKtDN4gWuM-= zKUL06L7kd@wv5k8JB6Z^*Y#=5bSyJHVr45u-E_+7QT$8|B*tuQDox!$8oyfuW4868 zKIIHR*48yg-|dD1Swq)srk8cc(}o!l&+9fb8b4anA#Yfk!!{1nno-focQki|97q&h!hR+PU>%;eR9C6!4WQQR z3CJ*MFnNl}ZoCb;aTK*iWtu?$Q|NulWS-mIhxdVM&5mj#eH%oCpD|P`{r@J{oa?b(+i*Ea3=;p&@Do$K7TuSK$)?U66;T%CRWboHI@w&o~PD0?WAD8nebD2ph2 zD3fLolws6}Ka6NYEJLhBbR!-?P;gHmxRekRF>pTaNuk@5z+J&r;N3JADEom+(u_ba z32+mna})`1Z@K+0>Unxu8k>8ziN;SYxK)R2sjgs0N3@{zvQdKMBL12CtQ%~d_KX|; z7k}+e@3H<7&Qp$zq2xI3ua;&K?)Ke@E|+l=t_oZiACXq_TZrl6?{h2S=Ip-D&c7@D z+*9q{LGD-h;+X@tT2_7V=+M%YC;R`vJP6eS>X5jmivi_?1cBF3RbG|AmGZQw$eRPo zPPRz8Z|Lg0j8XlsS2ZkTZK@C&u3zu47xl}4$hEpu{yM3Qe`wugH>JR_` literal 0 HcmV?d00001 diff --git a/neuralNetwork.c b/neuralNetwork.c index bd8f164..8376672 100644 --- a/neuralNetwork.c +++ b/neuralNetwork.c @@ -170,7 +170,7 @@ NeuralNetwork loadModel(const char *path) static Matrix imageBatchToMatrixOfImageVectors(const GrayScaleImage images[], unsigned int count) { - Matrix matrix = {NULL, 0, 0}; + Matrix matrix = (Matrix){0, 0, NULL}; if(count > 0 && images != NULL) { diff --git a/neuralNetwork.o b/neuralNetwork.o new file mode 100644 index 0000000000000000000000000000000000000000..23b768c32a1d8af3f34758e4739ee572e6af863a GIT binary patch literal 13944 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 literal 0 HcmV?d00001 diff --git a/neuralNetworkTests.c b/neuralNetworkTests.c index 21ab370..4e1a7e8 100644 --- a/neuralNetworkTests.c +++ b/neuralNetworkTests.c @@ -8,7 +8,48 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) { - // TODO + + FILE *file = fopen(path, "wb"); + if (!file) return; + + const char *tag = "__info2_neural_network_file_format__"; + fwrite(tag, sizeof(char), strlen(tag), file); + + if (nn.numberOfLayers == 0 || nn.layers == NULL) { + int zero = 0; + fwrite(&zero, sizeof(int), 1, file); // inputDim + fwrite(&zero, sizeof(int), 1, file); // outputDim + fclose(file); + return; + } + + int inputDim = nn.layers[0].weights.cols; + fwrite(&inputDim, sizeof(int), 1, file); + + for (unsigned int i = 0; i < nn.numberOfLayers; i++) { + + const Layer *L = &nn.layers[i]; + const Matrix *W = &L->weights; + const Matrix *B = &L->biases; + + int outputDim = W->rows; + + fwrite(&outputDim, sizeof(int), 1, file); + + size_t weightCount = (size_t)(W->rows * W->cols); + fwrite(W->buffer, sizeof(MatrixType), weightCount, file); + + size_t biasCount = (size_t)(B->rows * B->cols); + fwrite(B->buffer, sizeof(MatrixType), biasCount, file); + + inputDim = outputDim; + } + + int zero = 0; + fwrite(&zero, sizeof(int), 1, file); + + fclose(file); + } void test_loadModelReturnsCorrectNumberOfLayers(void) @@ -217,11 +258,9 @@ void test_predictReturnsCorrectLabels(void) } void setUp(void) { - // Falls notwendig, kann hier Vorbereitungsarbeit gemacht werden } void tearDown(void) { - // Hier kann Bereinigungsarbeit nach jedem Test durchgeführt werden } int main() diff --git a/runMatrixTests b/runMatrixTests new file mode 100755 index 0000000000000000000000000000000000000000..3de3bd9b7e1076797d3f17a861a876c8d4a86193 GIT binary patch literal 61536 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

fDY&@;{4T* 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 literal 0 HcmV?d00001 diff --git a/runMatrixTests.dSYM/Contents/Info.plist b/runMatrixTests.dSYM/Contents/Info.plist new file mode 100644 index 0000000..53f0f1a --- /dev/null +++ b/runMatrixTests.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.runMatrixTests + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests b/runMatrixTests.dSYM/Contents/Resources/DWARF/runMatrixTests new file mode 100644 index 0000000000000000000000000000000000000000..ba2c961d30cce0b625937940a8bb8219f108025e GIT binary patch literal 39892 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 literal 0 HcmV?d00001 diff --git a/runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml b/runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml new file mode 100644 index 0000000..06dc558 --- /dev/null +++ b/runMatrixTests.dSYM/Contents/Resources/Relocations/aarch64/runMatrixTests.yml @@ -0,0 +1,5 @@ +--- +triple: 'arm64-apple-darwin' +binary-path: runMatrixTests +relocations: [] +... diff --git a/runNeuralNetworkTests b/runNeuralNetworkTests new file mode 100755 index 0000000000000000000000000000000000000000..67bf8d9d12aee4a9de6e6462239cdd0e60c24e07 GIT binary patch literal 63352 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 literal 0 HcmV?d00001 diff --git a/runNeuralNetworkTests.dSYM/Contents/Info.plist b/runNeuralNetworkTests.dSYM/Contents/Info.plist new file mode 100644 index 0000000..54754af --- /dev/null +++ b/runNeuralNetworkTests.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.runNeuralNetworkTests + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/runNeuralNetworkTests.dSYM/Contents/Resources/DWARF/runNeuralNetworkTests b/runNeuralNetworkTests.dSYM/Contents/Resources/DWARF/runNeuralNetworkTests new file mode 100644 index 0000000000000000000000000000000000000000..1a4cf33f6b444e38e20ba2b8b5fbb442cdc05d9c GIT binary patch literal 48520 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