Versuch NeuronalesNetz zu schafffen, gescheitert
This commit is contained in:
parent
a7ce1d0897
commit
a7f3969682
@ -27,24 +27,32 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn)
|
|||||||
FILE *file = fopen(path, "wb");
|
FILE *file = fopen(path, "wb");
|
||||||
if (!file) return;
|
if (!file) return;
|
||||||
|
|
||||||
// 1. Header
|
// 1. Header (ohne \n!)
|
||||||
fputs(NN_HEADER, file);
|
const char *header = "__info2_neural_network_file_format__";
|
||||||
|
fwrite(header, sizeof(char), strlen(header), file);
|
||||||
|
|
||||||
// 2. Anzahl der Schichten
|
// 2. Schichten durchgehen
|
||||||
unsigned short layerCount = (unsigned short)nn.numberOfLayers;
|
|
||||||
fwrite(&layerCount, sizeof(unsigned short), 1, file);
|
|
||||||
|
|
||||||
// 3. Jede Schicht schreiben
|
|
||||||
for (unsigned int i = 0; i < nn.numberOfLayers; i++) {
|
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].weights);
|
||||||
writeMatrix(file, &nn.layers[i].biases);
|
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);
|
fclose(file);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void test_loadModelReturnsCorrectNumberOfLayers(void)
|
void test_loadModelReturnsCorrectNumberOfLayers(void)
|
||||||
{
|
{
|
||||||
const char *path = "some__nn_test_file.info2";
|
const char *path = "some__nn_test_file.info2";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user