NeuralNetworks 0.2.3__py3-none-any.whl → 0.2.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -54,7 +54,7 @@ class MLP (nn.Module):
54
54
  # --- Activation ---
55
55
  self.norm = norm_list.get (norm)
56
56
  if self.norm is None:
57
- print (f"Warning: '{norm}' not recognized, falling back to 'm is'")
57
+ print (f"Warning: '{norm}' not recognized, falling back to 'Relu'")
58
58
  self.norm = norm_list.get ("Relu")
59
59
 
60
60
  # --- Attributs ---
@@ -15,4 +15,4 @@ from .Trainer import Trainer
15
15
 
16
16
  from .UI import *
17
17
 
18
- __version__ = "0.2.3"
18
+ __version__ = "0.2.5"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: NeuralNetworks
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: Multi-Layer Perceptrons with multi-Fourier encoding, variable learning rate, visualization and PyTorch compilation
5
5
  Author-email: Alexandre Brun <alexandre51160@gmail.com>
6
6
  License: GPL-3.0-or-later
@@ -35,11 +35,9 @@ avec encodage optionnel [Fourier Features](https://en.wikipedia.org/wiki/Random_
35
35
 
36
36
  ---
37
37
 
38
- ## Contenu principal
38
+ ## **Classes**
39
39
 
40
- ### Classes
41
-
42
- #### `MLP` {#MLP}
40
+ ### **MLP**
43
41
 
44
42
  Cette classe fournit :
45
43
 
@@ -48,8 +46,6 @@ Cette classe fournit :
48
46
 
49
47
  ---
50
48
 
51
- ##### Paramètres
52
-
53
49
  | **Paramètres** | **Type** | **Optionnel** | **Description** |
54
50
  |----------------------|--------------------------------------------------------------------------------------------------|---------------|--------------------------------------------------------------------------------|
55
51
  | `input_size` | [`int`](https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex) | Oui | Taille des données en entrée au réseau. Default: `1` |
@@ -61,26 +57,22 @@ Cette classe fournit :
61
57
  | `norm` | [`norm`](#norms) | Oui | Type de normalisation / activation pour les couches cachées. Default: `'Relu'` |
62
58
  | `name` | [`str`](https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str) | Oui | Nom du réseau pour identification ou affichage. Default: `'Net'` |
63
59
 
64
- ##### Attributs
65
-
66
- - `losses : list[float]` Historique des pertes cumulées lors de l'entraînement
67
- - `learnings : list[float]` Historique des taux d'apprentissage utilisées lors de l'entraînement
68
- - `model : nn.Sequential` MLP complet construit dynamiquement
69
- - `name : str` Nom du réseau
60
+ | **Attributs** | **Type** | **Description** |
61
+ |-----------------|--------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
62
+ | `MLP.losses` | [`list[float]`](https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range) | Historique des pertes cumulées lors de l'entraînement |
63
+ | `MLP.learnings` | [`list[float]`](https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range) | Historique des taux d'apprentissage utilisées lors de l'entraînement |
64
+ | `MLP.model` | [`nn.Sequential`](https://docs.pytorch.org/docs/stable/generated/torch.nn.Sequential.html) | MLP complet construit dynamiquement |
65
+ | `MLP.name` | [`str`](https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str) | Nom du réseau |
70
66
 
71
67
  ---
72
68
 
73
- #### `Trainer`
74
-
75
- Cette classe fournit :
76
-
77
- - Méthode pour entraîner des réseaux avec mini-batchs et [Automatic Mixed Precision](https://docs.pytorch.org/tutorials/recipes/recipes/amp_recipe.html)
69
+ ### **Trainer**
78
70
 
79
- ##### Paramètres
71
+ Classe pour entraîner des réseaux avec mini-batchs et [Automatic Mixed Precision](https://docs.pytorch.org/tutorials/recipes/recipes/amp_recipe.html).
80
72
 
81
73
  | **Paramètres** | **Type** | **Optionnel** | **Description** |
82
74
  |----------------|-------------------------------------------------------------------------------------------------|---------------|-----------------------------------------------------------------------------------------------------------------|
83
- | `*nets` | [`MLP`](#MLP) | Non | Réseaux pour lesquels le trainer va entrainer. |
75
+ | `*nets` | [`MLP`](#mlp) | Non | Réseaux pour lesquels le trainer va entrainer. |
84
76
  | `inputs` | [`numpy.array(list[float])`](https://numpy.org/doc/stable/reference/generated/numpy.array.html) | Non | Données en entrée au réseau. |
85
77
  | `outputs` | [`numpy.array(list[float])`](https://numpy.org/doc/stable/reference/generated/numpy.array.html) | Non | Données en sortie au réseau. |
86
78
  | `test_size` | [`float`](https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex) | Oui | Proportion des données à utiliser pendant l'entrainement. Si None : utilise toutes les données. Default: `None` |
@@ -89,9 +81,9 @@ Cette classe fournit :
89
81
  | `crit` | [`crit`](#crits) | Oui | Fonction de perte à utiliser (doit exister dans `crits()`). Default: `MSE'` |
90
82
  | `batch_size` | [`int`](https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex) | Oui | Taille des minibatchs. Default: `1024` |
91
83
 
92
- ##### `Trainer.train`
84
+ #### **Trainer.train**
93
85
 
94
- Lancement d'un entrainement avec le trainer définit
86
+ Lancement d'un entrainement avec le trainer définit.
95
87
 
96
88
  | **Paramètres** | **Type** | **Optionnel** | **Description** |
97
89
  |-----------------|------------------------------------------------------------------------------------------|---------------|-----------------------------------------|
@@ -100,9 +92,21 @@ Lancement d'un entrainement avec le trainer définit
100
92
 
101
93
  ---
102
94
 
103
- ### Dictionnaires
95
+ ## **Méthodes**
96
+
97
+ ### **losses**
98
+
99
+ Affiche les résidus en fonction des époques d'entrainement des réseaux.
100
+
101
+ ### **learnings**
102
+
103
+ Affiche les taux d'apprentissage en fonction des époques d'entrainement des réseaux.
104
+
105
+ ---
106
+
107
+ ## **Dictionnaires**
104
108
 
105
- #### `norms()` {#norms}
109
+ ### **norms**
106
110
 
107
111
  | **Valeurs** | **Module PyTorch** | **Description** |
108
112
  |---------------|--------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
@@ -118,20 +122,9 @@ Lancement d'un entrainement avec le trainer définit
118
122
  | `'Hardtanh'` | [`nn.Hardtanh()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.Hardtanh.html) | Variante de Tanh, avec des sorties limitées entre une plage spécifiée. |
119
123
  | `'Softsign'` | [`nn.Softsign()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.Softsign.html) | Fonction d'activation similaire à Tanh mais plus souple, avec des valeurs dans [-1, 1]. |
120
124
 
121
- #### `crits()` {#crits}
122
-
123
- | **Valeurs** | **Module PyTorch** | **Description** |
124
- |--------------------------|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
125
- | `'MSE'` | [`nn.MSELoss`](https://pytorch.org/docs/stable/generated/torch.nn.MSELoss.html) | Perte utilisée pour les régressions. |
126
- | `'L1'` | [`nn.L1Loss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.L1Loss.html) | Perte utilisée pour la régularisation. |
127
- | `'SmoothL1'` | [`nn.SmoothL1Loss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.SmoothL1Loss.html) | Perte moins sensible aux outliers. |
128
- | `'Huber'` | [`nn.HuberLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.HuberLoss.html) | Perte moins affectée par les grands écarts. |
129
- | `'CrossEntropy'` | [`nn.CrossEntropyLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html) | Perte utilisée pour les problèmes de classification multi-classes. |
130
- | `'KLDiv'` | [`nn.KLDivLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.KLDivLoss.html) | Perte utilisée pour des modèles probabilistes. |
131
- | `'PoissonNLL'` | [`nn.PoissonNLLLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.PoissonNLLLoss.html) | Perte utilisée pour la modélisation de comptages. |
132
- | `'MultiLabelSoftMargin'` | [`nn.MultiLabelSoftMarginLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.MultiLabelSoftMarginLoss.html) | Perte utilisée pour les problèmes de classification multi-étiquettes. |
125
+ ---
133
126
 
134
- #### `optims()` {#optims}
127
+ ### **optims**
135
128
 
136
129
  | **Valeurs** | **Module PyTorch** | **Description** |
137
130
  |---------------|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
@@ -146,27 +139,42 @@ Lancement d'un entrainement avec le trainer définit
146
139
  | `'RMSprop'` | [`optim.RMSprop()`](https://docs.pytorch.org/docs/stable/generated/torch.optim.RMSprop.html) | Optimiseur utilisant une moyenne mobile des carrés des gradients pour réduire les oscillations. |
147
140
  | `'Rprop'` | [`optim.Rprop()`](https://docs.pytorch.org/docs/stable/generated/torch.optim.Rprop.html) | Optimiseur basé sur les mises à jour des poids indépendantes des gradients. |
148
141
  | `'SGD'` | [`optim.SGD()`](https://docs.pytorch.org/docs/stable/generated/torch.optim.SGD.html) | Optimiseur souvent utilisée avec un taux d'apprentissage constant ou ajusté. |
142
+
143
+ ---
144
+
145
+ ### **crits**
146
+
147
+ | **Valeurs** | **Module PyTorch** | **Description** |
148
+ |--------------------------|--------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|
149
+ | `'MSE'` | [`nn.MSELoss`](https://pytorch.org/docs/stable/generated/torch.nn.MSELoss.html) | Perte utilisée pour les régressions. |
150
+ | `'L1'` | [`nn.L1Loss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.L1Loss.html) | Perte utilisée pour la régularisation. |
151
+ | `'SmoothL1'` | [`nn.SmoothL1Loss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.SmoothL1Loss.html) | Perte moins sensible aux outliers. |
152
+ | `'Huber'` | [`nn.HuberLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.HuberLoss.html) | Perte moins affectée par les grands écarts. |
153
+ | `'CrossEntropy'` | [`nn.CrossEntropyLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html) | Perte utilisée pour les problèmes de classification multi-classes. |
154
+ | `'KLDiv'` | [`nn.KLDivLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.KLDivLoss.html) | Perte utilisée pour des modèles probabilistes. |
155
+ | `'PoissonNLL'` | [`nn.PoissonNLLLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.PoissonNLLLoss.html) | Perte utilisée pour la modélisation de comptages. |
156
+ | `'MultiLabelSoftMargin'` | [`nn.MultiLabelSoftMarginLoss()`](https://docs.pytorch.org/docs/stable/generated/torch.nn.MultiLabelSoftMarginLoss.html) | Perte utilisée pour les problèmes de classification multi-étiquettes. |
149
157
 
150
158
  ---
151
159
 
152
- ### `device`
160
+ ## **device**
153
161
 
154
- variable principale d'allocation des performances
162
+ Variable principale d'allocation des performances.
155
163
 
156
- #### **Apple Silicon (macOS)**
164
+ ### **Apple Silicon (macOS)**
157
165
  - Si le système d'exploitation est macOS (nommé `darwin` dans `platform.system()`), la fonction vérifie si l'accélérateur **Metal Performance Shaders** (MPS) est disponible sur l'appareil.
158
- - Si MPS est disponible (`torch.backends.mps.is_available()`), l'appareil cible sera défini sur `'MPS'` (c'est un équivalent de CUDA pour les appareils Apple Silicon).
166
+ - Si MPS est disponible (`torch.backends.mps.is_available()`), l'appareil cible sera défini sur `'mps'` (c'est un équivalent de CUDA pour les appareils Apple Silicon).
159
167
 
160
- #### **Windows**
168
+ ### **Windows**
161
169
  - Si le système d'exploitation est Windows, la fonction vérifie d'abord si **CUDA** (NVIDIA) est disponible avec `torch.cuda.is_available()`. Si c'est le cas, le périphérique sera défini sur **CUDA**.
162
170
 
163
- #### **Linux**
171
+ ### **Linux**
164
172
  - Si le système d'exploitation est Linux, plusieurs vérifications sont effectuées :
165
- 1. **CUDA** (NVIDIA) : Si `torch.cuda.is_available()` renvoie `True`, le périphérique sera défini sur `'CUDA'`.
166
- 2. **ROCm** (AMD) : Si le système supporte **ROCm** via `torch.backends.hip.is_available()`, l'appareil sera défini sur `'CUDA'` (ROCm est utilisé pour les cartes AMD dans le cadre de l'API CUDA).
173
+ 1. **CUDA** (NVIDIA) : Si `torch.cuda.is_available()` renvoie `True`, le périphérique sera défini sur `'cuda'`.
174
+ 2. **ROCm** (AMD) : Si le système supporte **ROCm** via `torch.backends.hip.is_available()`, l'appareil sera défini sur `'cuda'` (ROCm est utilisé pour les cartes AMD dans le cadre de l'API CUDA).
167
175
  3. **Intel oneAPI / XPU** : Si le système prend en charge **Intel oneAPI** ou **XPU** via `torch.xpu.is_available()`, le périphérique sera défini sur **XPU**.
168
176
 
169
- #### **Système non reconnu**
170
- - Si aucune des conditions ci-dessus n'est remplie, la fonction retourne `'CPU'` comme périphérique par défaut.
177
+ ### **Système non reconnu**
178
+ - Si aucune des conditions ci-dessus n'est remplie, la fonction retourne `'cpu'` comme périphérique par défaut.
171
179
 
172
180
  ---
@@ -1,10 +1,10 @@
1
- NeuralNetworks/__init__.py,sha256=fheTarkDt5IAOzXWTYDY9Jt9jg4heUVbIQ6H7RgwrCc,668
1
+ NeuralNetworks/__init__.py,sha256=DSCQD_dezpOEjqAGUSQsocNYmNq8STPHZaLjIXXLCF8,668
2
2
  NeuralNetworks/Dependances/__init__.py,sha256=qEpDbSD8cCq-E5XVisNUVf3kZOYopDnQWToyRefPgKE,1227
3
3
  NeuralNetworks/Dependances/matplot.py,sha256=elS8u6DZHYP-8mHEpYNOw3jDzhCAWTld9tm3OAD46zw,957
4
4
  NeuralNetworks/Dependances/pytorch.py,sha256=RQlSV3-8uHAoEgK0FBae7O4Mdug7h_MY--sN1fK59qw,3329
5
5
  NeuralNetworks/MLP/FourierFeatures.py,sha256=klgRM1HK09oA2NRMDxQMjJJ-WoUd5hV1ip5hHe9rHjI,3250
6
6
  NeuralNetworks/MLP/Layers.py,sha256=WAksXsiMxaClyYTxPhlyQbwwj9qTtXs3EWCO1RqjUHY,945
7
- NeuralNetworks/MLP/__init__.py,sha256=Q9VvDPArSbxP1Idrog7FWh-qba3rDoVl_K6kw9sSnvk,3052
7
+ NeuralNetworks/MLP/__init__.py,sha256=v7h4Vcmay0_A83spe67HhT7TQ7cSKQX4eVVBJhzEWfk,3052
8
8
  NeuralNetworks/MLP/inference.py,sha256=9aL7pUx1LTVvrc6UYHX049UjODTgHY6cweFcp2gequQ,853
9
9
  NeuralNetworks/Trainer/__init__.py,sha256=v0qKqx9XkYWkuouNNy0jTHQ_cZqYhFj98qrwSXlDXy0,1711
10
10
  NeuralNetworks/Trainer/dynamic_learning_rate.py,sha256=1JAD-k0cjdL_71zGeeCUFOa61H4PzFITDjZ2nK0TzXU,2340
@@ -13,8 +13,8 @@ NeuralNetworks/Trainer/train.py,sha256=NAbHFKg4hl96OXq_i63lcRYwrPHiuKu7ihexakhpg
13
13
  NeuralNetworks/UI/Learnings.py,sha256=4TBR5pcjyoBeL7eikNKM6xn25jnqL-mWT7hbrt9q-Gw,1418
14
14
  NeuralNetworks/UI/Losses.py,sha256=Tu5xuDiutR9a4xcZKpyWN_tzSDu3_fImEf8FbAEehio,1378
15
15
  NeuralNetworks/UI/__init__.py,sha256=L96xwQZJ-HoqqOGxaheosiDKHR3mRopuXkif--rO1J4,409
16
- neuralnetworks-0.2.3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
17
- neuralnetworks-0.2.3.dist-info/METADATA,sha256=NBOkoMO48dNjlelcIFSt5n7MAQ6wFCVHjcLZNoBZmvw,17339
18
- neuralnetworks-0.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
19
- neuralnetworks-0.2.3.dist-info/top_level.txt,sha256=h18nmC1BX7avyAAwKh0OQWezxgXmOpmVtbFq-8Mcbms,15
20
- neuralnetworks-0.2.3.dist-info/RECORD,,
16
+ neuralnetworks-0.2.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
17
+ neuralnetworks-0.2.5.dist-info/METADATA,sha256=FjTIFWlGmzIjQmWhFLnTuUI7MfNl0U5jb7EjRQJ7lh8,18349
18
+ neuralnetworks-0.2.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
19
+ neuralnetworks-0.2.5.dist-info/top_level.txt,sha256=h18nmC1BX7avyAAwKh0OQWezxgXmOpmVtbFq-8Mcbms,15
20
+ neuralnetworks-0.2.5.dist-info/RECORD,,