Kommentare

This commit is contained in:
Niklas Kegelmann 2025-11-17 11:08:33 +01:00
parent 7345c3ef39
commit b9ed1f22e0

View File

@ -9,22 +9,22 @@
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"); //File wird zum schreiben binär geöffnet
if (!file) return; if (!file) return; //falls fopen nicht geht -> fail
// 1) Header-Tag WORTGENAU (OHNE Nullterminator) schreiben // 1) Header-Tag WORTGENAU (OHNE Nullterminator) schreiben
fwrite(FILE_HEADER_STRING, sizeof(char), strlen(FILE_HEADER_STRING), file); fwrite(FILE_HEADER_STRING, sizeof(char), strlen(FILE_HEADER_STRING), file); //header wird in Datei geschrieben
//load module erkennt ob die datei ein gültiges Neural-Network ist
// 2) Layer-Daten im Format, das loadModel() erwartet // 2) Layer-Daten im Format, das loadModel() erwartet
for (unsigned int i = 0; i < nn.numberOfLayers; ++i) for (unsigned int i = 0; i < nn.numberOfLayers; ++i) //Neuronales Netz Layer für Layer speichern
{ {
const Layer *lay = &nn.layers[i]; const Layer *lay = &nn.layers[i];
int inputDim = (int)lay->weights.cols; // cols == inputDimension int inputDim = (int)lay->weights.cols; // cols == inputDimension liest die dimensionen der gewichtsmatrix aus
int outputDim = (int)lay->weights.rows; // rows == outputDimension int outputDim = (int)lay->weights.rows; // rows == outputDimension
if (i == 0) { if (i == 0) {
// Erstes Paar: input und output schreiben // Erstes Paar: input und output schreiben (für Layer 0)
fwrite(&inputDim, sizeof(int), 1, file); fwrite(&inputDim, sizeof(int), 1, file);
fwrite(&outputDim, sizeof(int), 1, file); fwrite(&outputDim, sizeof(int), 1, file);
} else { } else {