neuropy.py

Created by stimorol

Created on June 27, 2024

8.92 KB

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 !


During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.