diff --git a/neuralNetwork.c b/neuralNetwork.c index b3eee0b..e4ed1d6 100644 --- a/neuralNetwork.c +++ b/neuralNetwork.c @@ -133,6 +133,7 @@ NeuralNetwork loadModel(const char *path) while(inputDimension > 0 && outputDimension > 0) { + printf("\nID: %d, OD: %d\n", inputDimension, outputDimension); Layer layer = readLayer(file, inputDimension, outputDimension); Layer *layerBuffer = NULL; @@ -155,7 +156,7 @@ NeuralNetwork loadModel(const char *path) model.layers[model.numberOfLayers] = layer; model.numberOfLayers++; - + printf("\nNumber of Layers is now: %d\n", model.numberOfLayers); inputDimension = outputDimension; outputDimension = readDimension(file); } diff --git a/neuralNetworkTests.c b/neuralNetworkTests.c index 95e5447..d210113 100644 --- a/neuralNetworkTests.c +++ b/neuralNetworkTests.c @@ -17,17 +17,18 @@ static void prepareNeuralNetworkFile(const char *path, const NeuralNetwork nn) const char* header = "__info2_neural_network_file_format__"; fwrite(header, sizeof(const char), strlen(header), file); - fwrite(&(nn.numberOfLayers), sizeof(unsigned int), 1, file); - fwrite(&(nn.numberOfLayers), sizeof(unsigned int), 1, file); + + for (int i = 0; i < nn.numberOfLayers; i++) { + + fwrite(&(nn.layers[i].weights.cols), sizeof(unsigned int), 1, file); + fwrite(&(nn.layers[i].weights.rows), sizeof(unsigned int), 1, file); + } + for(int i = 0; i < nn.numberOfLayers; i++) { //write everything to do with weights - fwrite(&(nn.layers[i].weights.rows), sizeof(unsigned int), 1, file); - fwrite(&(nn.layers[i].weights.cols), sizeof(unsigned int), 1, file); fwrite(nn.layers[i].weights.buffer, sizeof(MatrixType), nn.layers[i].weights.rows * nn.layers[i].weights.cols, file); //write everything to do with biases - fwrite(&(nn.layers[i].biases.rows), sizeof(unsigned int), 1, file); - fwrite(&(nn.layers[i].biases.cols), sizeof(unsigned int), 1, file); fwrite(nn.layers[i].biases.buffer, sizeof(MatrixType), nn.layers[i].biases.rows * nn.layers[i].biases.cols, file); } fclose(file);