Upload folder using huggingface_hub
Browse files- README.md +47 -0
- global_model.pt +3 -0
- specific_junctions/junction_1.pt +3 -0
- specific_junctions/junction_2.pt +3 -0
- specific_junctions/junction_3.pt +3 -0
- specific_junctions/junction_4.pt +3 -0
- specific_junctions/scaler_j1.pkl +3 -0
- specific_junctions/scaler_j2.pkl +3 -0
- specific_junctions/scaler_j3.pkl +3 -0
- specific_junctions/scaler_j4.pkl +3 -0
README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
# 🚦 Traffic Flow Prediction - Multi-Paradigm LSTM
|
| 3 |
+
|
| 4 |
+
Ce dépôt contient des modèles de Deep Learning (PyTorch) conçus pour la prédiction du flux de trafic routier.
|
| 5 |
+
Le projet compare deux approches : un **Modèle Global** (entraîné sur toutes les jonctions) et des **Modèles Spécifiques** (un par jonction).
|
| 6 |
+
|
| 7 |
+
## 🏗️ Architecture du Modèle
|
| 8 |
+
Le modèle utilise une architecture **LSTM (Long Short-Term Memory)** optimisée :
|
| 9 |
+
- **Input Layer**: 9 features (temporelles + historiques).
|
| 10 |
+
- **LSTM Layers**: 2 couches superposées avec un `hidden_size` de 128.
|
| 11 |
+
- **Regularization**: Dropout (0.3) et **Batch Normalization** après le LSTM pour stabiliser l'apprentissage.
|
| 12 |
+
- **Output Layer**: Couche dense (Linear) pour la prédiction scalaire du nombre de véhicules.
|
| 13 |
+
|
| 14 |
+
## 📊 Variables d'Entrée (Input Features)
|
| 15 |
+
Le modèle a été entraîné avec un encodage cyclique pour capturer la périodicité du trafic :
|
| 16 |
+
1. `hour_sin` / `hour_cos` : Heure de la journée (0-23).
|
| 17 |
+
2. `dayofweek` : Jour de la semaine (Lundi-Dimanche).
|
| 18 |
+
3. `month` : Mois de l'année.
|
| 19 |
+
4. `is_weekend` : Flag binaire (0 ou 1).
|
| 20 |
+
5. `veh_lag_1`, `2`, `3`, `24` : Historique du trafic à T-1h, T-2h, T-3h et T-24h.
|
| 21 |
+
|
| 22 |
+
## 🚀 Utilisation avec FastAPI / Spark Streaming
|
| 23 |
+
Le format `.pt` est prêt pour `TorchScript` ou un chargement direct dans un backend Python.
|
| 24 |
+
|
| 25 |
+
```python
|
| 26 |
+
import torch
|
| 27 |
+
model = TrafficLSTM(input_size=9) # Classe définie dans l'app
|
| 28 |
+
model.load_state_dict(torch.load('global_model.pt'))
|
| 29 |
+
model.eval()
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
## 📈 Performances (MAE)
|
| 33 |
+
| Jonction | Modèle Global (P1) | Modèle Spécifique (P2) |
|
| 34 |
+
|----------|-------------------|------------------------|
|
| 35 |
+
| J1 | 3.73 | 5.09 |
|
| 36 |
+
| J2 | 1.98 | 2.98 |
|
| 37 |
+
| J3 | 2.61 | 3.65 |
|
| 38 |
+
| J4 | 2.13 | 2.13 |
|
| 39 |
+
|
| 40 |
+
**Note :** Le modèle Global surpasse souvent les modèles spécifiques grâce à la généralisation des patterns de trafic entre jonctions.
|
| 41 |
+
|
| 42 |
+
## 📁 Structure du Repo
|
| 43 |
+
- `global_model.pt` : Le modèle principal prêt à l'emploi.
|
| 44 |
+
- `specific_junctions/` : Modèles spécialisés pour des comportements atypiques de certaines routes.
|
| 45 |
+
|
| 46 |
+
---
|
| 47 |
+
**Contact**: jojonocode | **Frameworks**: PyTorch, Sklearn, HuggingFace Hub
|
global_model.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:237be637863a5d57de810411686681196b7d786dae83959ca76a559ebb377618
|
| 3 |
+
size 853333
|
specific_junctions/junction_1.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b147baa02ddf8efc3a49e38cb3384f56228a40b105042aa3bcb34a427983224a
|
| 3 |
+
size 128989
|
specific_junctions/junction_2.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8d72d1eb0fec22c5668c225d81715cedb930c4033bd6348660d69ad9e9688265
|
| 3 |
+
size 128989
|
specific_junctions/junction_3.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ffcddc78e4636f478338ed7986551a3bf744a76ecf2749ee7269df2bd5876377
|
| 3 |
+
size 128989
|
specific_junctions/junction_4.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a6fc927e78f1a0370a60d05cece81c4ea6bd9f1f993954d184cbedefaf64df21
|
| 3 |
+
size 128989
|
specific_junctions/scaler_j1.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:759740bc56c328acf1b180eff7e0d2433c6fc47ed656d05688d722054de8b2eb
|
| 3 |
+
size 1391
|
specific_junctions/scaler_j2.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:46adf0890231ee3babaaefa05bb1bba21dbc89be7db518c8eb252fa48a734aae
|
| 3 |
+
size 1391
|
specific_junctions/scaler_j3.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:59afa219312f6178e360cd24f60b676859c73e33a83d012a3e9916d0607adb3f
|
| 3 |
+
size 1391
|
specific_junctions/scaler_j4.pkl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4c255f4f387f3b17bfcb0de0f3e3e2928cdccbd629d422f6ef2aeef5b320cf02
|
| 3 |
+
size 1391
|