OCRudoku
v1.0
Resolve word grid with ease
|
#include "neural_utils.h"
#include "../Application/ApplicationUtils.h"
#include "../Image/ImageUtils.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <err.h>
#include <dirent.h>
#include <time.h>
Macros | |
#define | _DEFAULT_SOURCE |
#define | _GNU_SOURCE |
Functions | |
double | sigmoid (double x) |
double | sigmoid_derivate (double x) |
double | double_rand (double size) |
double | clamp (double value, double min, double max) |
char * | get_formated_time (size_t time) |
void | init_neuron (neuron *n, size_t nb_connection) |
void | free_neuron (neuron *n) |
void | init_neural_network (neural_network *network) |
void | free_neural_network (neural_network *network) |
void | reset_neural_network (neural_network *network) |
void | save_neural_network (neural_network *network, const char *file_path) |
char ** | string_split (const char *string, char separator, size_t *res_len) |
void | load_neural_network (neural_network *network, const char *content) |
char * | read_file (const char *file) |
void | process_hidden_layer (neural_network *network) |
void | process_output_layer (neural_network *network) |
void | process_network (neural_network *network) |
double | get_network_cost (neural_network *network, training_data expected_data) |
void | shuffle_dataset (training_data *datas, size_t data_len, size_t nb_shuffle) |
double | calculate_hidden_local_gradiant (neural_network *network, size_t x, size_t y) |
void | network_hidden_calculate_propagation (neural_network *network, neural_network *memory_network) |
void | network_output_calculate_propagation (neural_network *network, neural_network *memory_network, training_data data) |
void | network_hidden_apply_propagation (neural_network *network, neural_network *memory_network, size_t batch_size, double learning_rate) |
void | network_output_apply_propagation (neural_network *network, neural_network *memory_network, size_t batch_size, double learning_rate) |
void | network_back_propagation (neural_network *network, neural_network *memory_network, training_data *datas, size_t data_len, double learning_rate) |
void | network_set_input_data (neural_network *network, training_data data) |
void | network_train_data (neural_network *network, neural_network *memory_network, training_data *datas, size_t data_len, double learning_rate, double *cost) |
void | network_process_epoche (neural_network *network, neural_network *memory_network, training_data *data, size_t data_len, size_t batch_size, size_t nb_shuffle, double learning_rate, double *total_cost) |
double | get_network_total_cost (neural_network *network, training_data *datas, size_t data_len) |
char | get_data_char_prediction (training_data data, size_t nb_output) |
char | get_network_char_prediction (neural_network *network, size_t AdaFactor) |
void | train_network (neural_network *network, training_data *datas, size_t data_len, float learning_rate, size_t batch_size, size_t warmup, size_t warmup_iterations, size_t iterations) |
size_t | get_network_success_rate (neural_network *network, training_data *datas, size_t data_len, size_t AdaFactor) |
training_data * | load_dataset (const char *directory, size_t AdaFactor, size_t *nb_data) |
void | print_network_activations (neural_network *network) |
void | print_network_state (neural_network *network) |
void | print_training_debug (neural_network *network, training_data *data, size_t data_len) |
#define _DEFAULT_SOURCE |
#define _GNU_SOURCE |
double calculate_hidden_local_gradiant | ( | neural_network * | network, |
size_t | x, | ||
size_t | y ) |
double clamp | ( | double | value, |
double | min, | ||
double | max ) |
double double_rand | ( | double | size | ) |
void free_neural_network | ( | neural_network * | network | ) |
void free_neuron | ( | neuron * | n | ) |
char get_data_char_prediction | ( | training_data | data, |
size_t | nb_output ) |
char * get_formated_time | ( | size_t | time | ) |
char get_network_char_prediction | ( | neural_network * | network, |
size_t | AdaFactor ) |
double get_network_cost | ( | neural_network * | network, |
training_data | expected_data ) |
size_t get_network_success_rate | ( | neural_network * | network, |
training_data * | datas, | ||
size_t | data_len, | ||
size_t | AdaFactor ) |
double get_network_total_cost | ( | neural_network * | network, |
training_data * | datas, | ||
size_t | data_len ) |
void init_neural_network | ( | neural_network * | network | ) |
void init_neuron | ( | neuron * | n, |
size_t | nb_connection ) |
training_data * load_dataset | ( | const char * | directory, |
size_t | AdaFactor, | ||
size_t * | nb_data ) |
void load_neural_network | ( | neural_network * | network, |
const char * | content ) |
void network_back_propagation | ( | neural_network * | network, |
neural_network * | memory_network, | ||
training_data * | datas, | ||
size_t | data_len, | ||
double | learning_rate ) |
void network_hidden_apply_propagation | ( | neural_network * | network, |
neural_network * | memory_network, | ||
size_t | batch_size, | ||
double | learning_rate ) |
void network_hidden_calculate_propagation | ( | neural_network * | network, |
neural_network * | memory_network ) |
void network_output_apply_propagation | ( | neural_network * | network, |
neural_network * | memory_network, | ||
size_t | batch_size, | ||
double | learning_rate ) |
void network_output_calculate_propagation | ( | neural_network * | network, |
neural_network * | memory_network, | ||
training_data | data ) |
void network_process_epoche | ( | neural_network * | network, |
neural_network * | memory_network, | ||
training_data * | data, | ||
size_t | data_len, | ||
size_t | batch_size, | ||
size_t | nb_shuffle, | ||
double | learning_rate, | ||
double * | total_cost ) |
void network_set_input_data | ( | neural_network * | network, |
training_data | data ) |
void network_train_data | ( | neural_network * | network, |
neural_network * | memory_network, | ||
training_data * | datas, | ||
size_t | data_len, | ||
double | learning_rate, | ||
double * | cost ) |
void print_network_activations | ( | neural_network * | network | ) |
void print_network_state | ( | neural_network * | network | ) |
void print_training_debug | ( | neural_network * | network, |
training_data * | data, | ||
size_t | data_len ) |
void process_hidden_layer | ( | neural_network * | network | ) |
void process_network | ( | neural_network * | network | ) |
void process_output_layer | ( | neural_network * | network | ) |
char * read_file | ( | const char * | file | ) |
void reset_neural_network | ( | neural_network * | network | ) |
void save_neural_network | ( | neural_network * | network, |
const char * | file_path ) |
void shuffle_dataset | ( | training_data * | datas, |
size_t | data_len, | ||
size_t | nb_shuffle ) |
double sigmoid | ( | double | x | ) |
double sigmoid_derivate | ( | double | x | ) |
char ** string_split | ( | const char * | string, |
char | separator, | ||
size_t * | res_len ) |
void train_network | ( | neural_network * | network, |
training_data * | datas, | ||
size_t | data_len, | ||
float | learning_rate, | ||
size_t | batch_size, | ||
size_t | warmup, | ||
size_t | warmup_iterations, | ||
size_t | iterations ) |