# FANN (Réseau neuronal artificiel rapide - Fast Artificial Neural Network)

- Introduction
- Installation/Configuration
  - Pré-requis
  - Installation
  - Types de ressources
- Constantes pré-définies
- Exemples
  - XOR training
- Fonctions Fann
  - fann_cascadetrain_on_data — Entraîne un réseau de neurones sur un ensemble de données entier, pour une période de temps en utilisant l'algorithme d'entraînement Cascade2
  - fann_cascadetrain_on_file — Entraîne un réseau de neurones sur un ensemble de données entier, pour une période de temps en utilisant l'algorithme d'entraînement Cascade2
  - fann_clear_scaling_params — Efface les paramètres de mise à l'échelle
  - fann_copy — Crée une copie d'une structure fann
  - fann_create_from_file — Construit une propagation de retour du réseau neuronal depuis un fichier de configuration
  - fann_create_shortcut — Créer un réseau de neurones de rétropropagation standard qui n'est pas entièrement connecté et qui a des connexions de raccourci
  - fann_create_shortcut_array — Crée une propagation de retour standart de réseau neuronal qui n'est pas totalement connecté, et a des connexions raccourcies
  - fann_create_sparse — Créer un réseau de neurones de rétropropagation standard qui n'est pas entièrement connecté
  - fann_create_sparse_array — Créer un réseau de neurones de rétropropagation standard qui n'est pas entièrement connecté en utilisant un tableau de tailles de couche
  - fann_create_standard — Créer un réseau de neurones de rétropropagation standard totalement connecté
  - fann_create_standard_array — Créer un réseau de neurones de rétropropagation standard en utilisant un tableau de tailles de couche
  - fann_create_train — Crée une structure vide de données d'entrainement
  - fann_create_train_from_callback — Crée la structure de données d'entrainement depuis une fonction fournie par l'utilisateur
  - fann_descale_input — Dimensionne les données dans le vecteur d'entrée après les avoir obtenues de ann en fonction des paramètres précédemment calculés
  - fann_descale_output — Dimensionne les données dans le vecteur de sortie après les avoir obtenues de ann en fonction des paramètres précédemment calculés
  - fann_descale_train — Redimensionne les données d'entrée et de sortie en fonction des paramètres calculés précédemment.
  - fann_destroy — Détruit le réseau en entier, et libère proprement toute la mémoire associée
  - fann_destroy_train — Détruit les données d'entrainement
  - fann_duplicate_train_data — Retourne une copie exacte des données d'entraînement fann
  - fann_get_activation_function — Renvoie la fonction d'activation
  - fann_get_activation_steepness — Renvoie la raideur d'activation pour le neurone et le numéro de couche fournis
  - fann_get_bias_array — Renvoie le nombre de biais dans chaque couche du réseau
  - fann_get_bit_fail — Le nombre de bits échoués
  - fann_get_bit_fail_limit — Renvoie la limite d'échec de bit utilisée pendant l'entraînement
  - fann_get_cascade_activation_functions — Renvoie les fonctions d'activation en cascade
  - fann_get_cascade_activation_functions_count — Renvoie le nombre de fonctions d'activation en cascade
  - fann_get_cascade_activation_steepnesses — Renvoie les raideurs d'activation en cascade
  - fann_get_cascade_activation_steepnesses_count — Le nombre de raideur d'activation
  - fann_get_cascade_candidate_change_fraction — Renvoie la fraction de changement de candidat en cascade
  - fann_get_cascade_candidate_limit — Renvoie la limite de candidat
  - fann_get_cascade_candidate_stagnation_epochs — Renvoie le nombre d'époques de stagnation des candidats en cascade
  - fann_get_cascade_max_cand_epochs — Renvoie le nombre maximum d'époques des candidats
  - fann_get_cascade_max_out_epochs — Renvoie le nombre maximum d'époques de sortie
  - fann_get_cascade_min_cand_epochs — Renvoie le nombre minimum d'époques des candidats
  - fann_get_cascade_min_out_epochs — Renvoie le nombre minimum d'époques de sortie
  - fann_get_cascade_num_candidate_groups — Renvoie le nombre de groupes de candidats
  - fann_get_cascade_num_candidates — Renvoie le nombre de candidats utilisés pendant l'entraînement
  - fann_get_cascade_output_change_fraction — Renvoie la fraction de changement de sortie en cascade
  - fann_get_cascade_output_stagnation_epochs — Renvoie le nombre d'époques de stagnation de sortie en cascade
  - fann_get_cascade_weight_multiplier — Renvoie le multiplicateur de poids
  - fann_get_connection_array — Récupère les connexions dans le réseau
  - fann_get_connection_rate — Récupère le taux de connexion lorsque le réseau a été créé
  - fann_get_errno — Retourne le numéro de la dernière erreur
  - fann_get_errstr — Retourne le dernier message d'erreur
  - fann_get_layer_array — Renvoie le nombre de neurones dans chaque couche du réseau
  - fann_get_learning_momentum — Renvoie l'élan d'apprentissage
  - fann_get_learning_rate — Renvoie le taux d'apprentissage
  - fann_get_MSE — Lit le taux d'erreur quadratique moyen du réseau
  - fann_get_network_type — Renvoie le type de réseau de neurones pour lequel il a été créé
  - fann_get_num_input — Récupère le nombre de neurones entrants
  - fann_get_num_layers — Récupère le nombre de couches du réseau neuronal
  - fann_get_num_output — Récupère le nombre de neurones sortants
  - fann_get_quickprop_decay — Renvoie la décroissance qui est un facteur qui pondère la diminution des poids à chaque itération lors de l'entraînement quickprop
  - fann_get_quickprop_mu — Retourne le facteur mu
  - fann_get_rprop_decrease_factor — Retourne le facteur d'accroissement utilisé pendant l'entrainement RPROP
  - fann_get_rprop_delta_max — Retourne la taille maximale de l'étape
  - fann_get_rprop_delta_min — Retourne la taille minimale de l'étape
  - fann_get_rprop_delta_zero — Retourne la taille initiale de l'étape
  - fann_get_rprop_increase_factor — Retourne le facteur croissant utilisé pendant l'entrainement RPROP
  - fann_get_sarprop_step_error_shift — Retourne le décalage de l'erreur lors de l'étape sarprop
  - fann_get_sarprop_step_error_threshold_factor — Retourne le facteur de seuil d'erreur lors de l'étape sarprop
  - fann_get_sarprop_temperature — Retourne la température sarprop
  - fann_get_sarprop_weight_decay_shift — Retourne le changement décroissant du poids sarprop
  - fann_get_total_connections — Récupère le nombre total de connexions dans la totalité du réseau
  - fann_get_total_neurons — Récupère le nombre total de neurones dans la totalité du réseau
  - fann_get_train_error_function — Retourne la fonction d'erreur utilisée pendant l'entrainement
  - fann_get_train_stop_function — Retourne la fonction d'arrêt utilisée pendant l'entrainement
  - fann_get_training_algorithm — Retourne l'algorithme d'entrainement
  - fann_init_weights — Initialise les poids en utilisant les algorythme Widrow et Nguyen
  - fann_length_train_data — Retourne le nombre de masques d'entrainement dans les données d'entrainement
  - fann_merge_train_data — Fusionne les données d'entrainement
  - fann_num_input_train_data — Retourne le nombre d'entrées dans chaque masque d'entrainement dans les données d'entrainement
  - fann_num_output_train_data — Retourne le nombre de sortie dans chaque masque d'entrainement dans les données d'entrainement
  - fann_print_error — Affiche le message d'erreur
  - fann_randomize_weights — Donne à chaque connexion un poids aléatoire compris entre min_weight et max_weight
  - fann_read_train_from_file — Lit un fichier contenant les données d'entrainement
  - fann_reset_errno — Réinitialise le numéro de la dernière erreur
  - fann_reset_errstr — Réinitialise le message de la dernière erreur
  - fann_reset_MSE — Réinitialise l'erreur quadratique moyenne du réseau
  - fann_run — Exécute les entrées via le réseau neuronal
  - fann_save — Sauvegarde le réseau complet dans un fichier de configuration
  - fann_save_train — Sauvegarde la structure d'entrainement dans un fichier
  - fann_scale_input — Met à l'échelle les données dans le vecteur d'entrée avant de les donner à ANN, en se basant sur les paramètres précédemment calculés
  - fann_scale_input_train_data — Met à l'échelle les entrées dans les données d'entrainement à l'intervalle spécifié
  - fann_scale_output — Met à l'échelle les données dans le vecteur de sortie avant de les passer à ANN, en se basant sur les paramètres précédemment calculés
  - fann_scale_output_train_data — Met à l'échelle les sorties dans les données d'entrainement à l'intervalle spécifié
  - fann_scale_train — Met à l'échelle les données d'entrée et de sortie en se basant sur les paramètres précédemment calculés
  - fann_scale_train_data — Met à l'échelle les entrées et les sorties dans les données d'entrainement à l'intervalle spécifié
  - fann_set_activation_function — Défini la fonction d'activation pour le neurone et la couche spécifiés
  - fann_set_activation_function_hidden — Défini la fonction d'activation pour toutes les couches cachées
  - fann_set_activation_function_layer — Défini la fonction d'activation pour tous les neurones de la couche spécifiée
  - fann_set_activation_function_output — Défini la fonction d'activation pour la couche d'entrée
  - fann_set_activation_steepness — Défini la pente d'activation pour le neurone et le numéro de couche donnés
  - fann_set_activation_steepness_hidden — Défini la raideur de la pente d'activation pour tous les neurones des couches cachées
  - fann_set_activation_steepness_layer — Défini la pente d'activation pour tous les neurones dans la couche dont le numéro est fourni
  - fann_set_activation_steepness_output — Défini la raideur de la pente d'activation dans la couche de sortie
  - fann_set_bit_fail_limit — Défini le bit sûr limite, utilisé pendant l'entrainement
  - fann_set_callback — Défini la fonction de rappel à utiliser pendant l'entrainement
  - fann_set_cascade_activation_functions — Défini le tableau des fonctions d'activation candidate en cascade
  - fann_set_cascade_activation_steepnesses — Défini le tableaux des raideurs d'activation candidate en cascade
  - fann_set_cascade_candidate_change_fraction — Défini la fraction de modification candidate en cascade
  - fann_set_cascade_candidate_limit — Défini la limite candidate
  - fann_set_cascade_candidate_stagnation_epochs — Défini le nombre d'époques de stagnation candidates en cascade
  - fann_set_cascade_max_cand_epochs — Défini l'époque maximale candidate
  - fann_set_cascade_max_out_epochs — Défini l'époque maximale de sortie
  - fann_set_cascade_min_cand_epochs — Défini l'époque minimale candidate
  - fann_set_cascade_min_out_epochs — Défini l'époque minimale de sortie
  - fann_set_cascade_num_candidate_groups — Défini le nombre de groupes candidats
  - fann_set_cascade_output_change_fraction — Défini la fraction de modification de sortie en cascade
  - fann_set_cascade_output_stagnation_epochs — Défini le nombre d'époques de stagnation en cascade de sortie
  - fann_set_cascade_weight_multiplier — Défini le multiplicateur de poids
  - fann_set_error_log — Défini l'endroit où les erreurs seront historisées
  - fann_set_input_scaling_params — Calcule les paramètres d'échelle d'entrée pour une utilisation future, en se basant sur les données d'entrainement
  - fann_set_learning_momentum — Défini la dynamique d'apprentissage
  - fann_set_learning_rate — Défini le taux d'apprentissage
  - fann_set_output_scaling_params — Calcule les paramètres d'échelle de sortie pour une utilisation future, en se basant sur les données d'entrainement
  - fann_set_quickprop_decay — Défini le facteur décroissant quickprop
  - fann_set_quickprop_mu — Défini le facteur quickprop mu
  - fann_set_rprop_decrease_factor — Défini le facteur de diminution utilisé pendant l'entrainement RPROP
  - fann_set_rprop_delta_max — Défini la taille maximale de l'étape
  - fann_set_rprop_delta_min — Défini la taille minimale de l'étape
  - fann_set_rprop_delta_zero — Défini la taille de l'étape initiale
  - fann_set_rprop_increase_factor — Défini le facteur d'augmentation utilisé pendant l'entrainement RPROP
  - fann_set_sarprop_step_error_shift — Défini le changement de l'étape d'erreur sarprop
  - fann_set_sarprop_step_error_threshold_factor — Défini le facteur de seuil de l'étape d'erreur sarprop
  - fann_set_sarprop_temperature — Défini la températeur sarprop
  - fann_set_sarprop_weight_decay_shift — Défini le changement décroissant du poids de sarprop
  - fann_set_scaling_params — Calcule les paramètres d'échelles d'entrée et de sortie utilisés en se basant sur les données d'entrainement
  - fann_set_train_error_function — Défini la fonction d'erreur utilisée pendant l'entrainement
  - fann_set_train_stop_function — Défini la fonction d'arrêt à utiliser durant l'entrainement
  - fann_set_training_algorithm — Défini l'algorithme d'entrainement
  - fann_set_weight — Défini une connexion dans le réseau
  - fann_set_weight_array — Défini les connexions dans le réseau
  - fann_shuffle_train_data — Mélange les données d'entrainement, et rend aléaloire leurs ordres
  - fann_subset_train_data — Retourne une copie d'un sous-jeu de données d'entrainement
  - fann_test — Effectue un test avec un jeu d'entrées et un jeu de sorties désirées
  - fann_test_data — Effectue un test sur un jeu de données d'entrainement et calcule le MSE pour ces données
  - fann_train — Effectue un entrainement sur une itération avec un jeu d'entrées, et un jeu de sorties désirées
  - fann_train_epoch — Effectue un entrainement avec un jeu de données d'entrainement
  - fann_train_on_data — Effectue un entrainement sur un jeu de données complet pour une période de temps
  - fann_train_on_file — Effectue un entrainement sur un jeu complet de données, qui peut être lu depuis un fichier, pour une période de temps
- FANNConnection — La classe FANNConnection
  - FANNConnection::__construct — Le constructeur de connexion
  - FANNConnection::getFromNeuron — Retourne la position du neurone de départ
  - FANNConnection::getToNeuron — Retourne la position du neurone de fin
  - FANNConnection::getWeight — Retourne le poids de la connexion
  - FANNConnection::setWeight — Défini le poids de la connexion