tipe/src/mnist/include/neuron_io.h

82 lines
1.5 KiB
C
Raw Normal View History

2022-04-01 15:41:54 +02:00
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
2022-04-26 11:39:29 +02:00
#include "neuron.h"
2022-04-01 15:41:54 +02:00
#ifndef DEF_NEURON_IO_H
#define DEF_NEURON_IO_H
2022-06-30 10:26:17 +02:00
// Lecture d'un réseau neuronal
/*
* Lit un neurone
*/
2022-04-25 14:39:45 +02:00
Neuron* read_neuron(uint32_t nb_weights, FILE *ptr);
2022-06-30 10:26:17 +02:00
/*
* Lit une couche de neurones
*/
2022-04-25 14:39:45 +02:00
Neuron** read_neurons(uint32_t nb_neurons, uint32_t nb_weights, FILE *ptr);
2022-06-30 10:26:17 +02:00
/*
* Charge l'entièreté du réseau neuronal depuis un fichier binaire
*/
2022-04-25 14:39:45 +02:00
Network* read_network(char* filename);
2022-05-21 15:11:36 +02:00
2022-06-30 10:26:17 +02:00
// Écriture d'un réseau neuronal
/*
* Écrit un neurone dans le fichier pointé par *ptr
*/
2022-05-21 15:11:36 +02:00
void write_neuron(Neuron* neuron, int weights, FILE *ptr);
2022-06-30 10:26:17 +02:00
/*
* Stocke l'entièreté du réseau neuronal dans un fichier binaire
*/
2022-05-19 22:26:19 +02:00
void write_network(char* filename, Network* network);
2022-05-21 15:11:36 +02:00
2022-06-30 10:26:17 +02:00
// Lecture des calculs de la backpropagation d'un réseau neuronal
/*
* Lit un neurone
*/
2022-05-21 15:11:36 +02:00
Neuron* read_delta_neuron(uint32_t nb_weights, FILE *ptr);
2022-06-30 10:26:17 +02:00
/*
* Lit une couche de neurones
*/
2022-05-21 15:11:36 +02:00
Neuron** read_delta_neurons(uint32_t nb_neurons, uint32_t nb_weights, FILE *ptr);
2022-06-30 10:26:17 +02:00
/*
* Charge l'entièreté du réseau neuronal depuis un fichier binaire
*/
2022-05-21 15:11:36 +02:00
Network* read_delta_network(char* filename);
2022-06-30 10:26:17 +02:00
// Écriture des calculs de la backpropagation d'un réseau neuronal
/*
* Écrit les calculs de backpropagation effectués sur
* un neurone dans le fichier pointé par *ptr
*/
2022-05-21 15:11:36 +02:00
void write_delta_neuron(Neuron* neuron, int weights, FILE *ptr);
2022-06-30 10:26:17 +02:00
/*
* Enregistre les calculs de backpropagation effectués
* sur un réseau dans un fichier
*/
2022-05-19 22:26:19 +02:00
void write_delta_network(char* filename, Network* network);
2022-04-01 15:41:54 +02:00
#endif