Librairie pour réseaux de neurones :)
=== Agent Incantation des réseaux de neurones
Paramètres : -brainDim (list) : Dimensions du réseau de neurones -agentPerGen (int) : Agents par génération -savName (str) : Nom du fichier de sauvegarde (explication plus bas) -NSavBrain (int) : Nombre d’agents à sauvegarder -actFunc (str) : Fonction d’activation. Options: sigmoide, ReLU, tanh, ou fonction personnalisée (par défaut, sigmoide) -learningRate (float) : Taux d’apprentissage (par défaut, 0.1) -newGen (dict) : Proportion d’agents à conserver de l’ancienne génération (‘A’) et à muter (‘M’) (par défaut, {‘A’: 0.3, ‘M’: 0.5}) -valType (int) : Type de valeurs du réseau. Pour optimiser le stockage des réseaux, les valeurs du réseau sont stockées sous forme d’int8 ou int16. Options: 0 pour int8, 1 pour int16 (meilleure précision dans la valeur du réseau) (par défaut, int8) -dilution (int) : Facteur de dilution pour augmenter les valeurs possible d’un nombre. Chaque dilution rendra les valeurs du réseau moins précises, mais les valeurs pourront être beaucoup plus éloignées (par défaut, 1 (càd aucune modification))
=== forward_propagation(ind, inp) Propagation avant dans le réseau. Retourne l’indice du neurone de sortie ayant la valeur la plus élevée
Paramètres : -ind (int) : Indice de l’agent dans la génération dont on veut faire la propagation -inp (list) : Couche d’entrée du réseau
=== evolve(marks) Crée une nouvelle génération d’individu en utilisant les proportions de newGen. A chaque génération, les meilleurs agents sont conservés, et des agents mutés et aléatoire sont rajoutés
Paramètre : -marks (list) : Liste des notes des individus
=== save/load save encode les cervaux, sauvegarde le nombre total de génération effectuées, valType et dilution (voir plus haut) Load récupère les informations stockées Les sauvegardes se font sur le nom savName (l’extension est ‘.ia’)
Si vous avez des questions/modification, contactez moi sur jametarmand@gmail.com !