L’organisation des répertoires dans le projet AliceMind reflète la séparaiton des responsabilités. Exemple type :
AliceMind_Project/
├── README.md
├── requirements.txt
├── modules/
│ ├── core/
│ │ ├── model_core.py
│ │ └── components/
│ │ ├── encoder.py
│ │ └── decoder.py
│ ├── data_pipeline/
│ │ ├── loader.py
│ │ └── preprocessor.py
│ ├── training_loop/
│ │ ├── trainer.py
│ │ └── scheduler.py
│ └── inference/
│ └── predictor.py
├── config/
│ └── base.yml
└── scripts/
├── run_train.bash
└── run_infer.bash
README.md: documentation d’introduction et guide de démarrage.requirements.txt: dépendances Python nécessaires.modules/: code source principal, subdivisé en sous-modules (modèle, données, entraînement, inférence).config/: fichiers YAML paramétrant le comportement.scripts/: scripts shell pour lancer les tâches.
2. Fichier de lancement principal
Les points d’entrée sont situés dans le dossier scripts/. Par exemple :
run_train.bash pourrait contenir :
#!/bin/bash
python -m modules.training_loop.trainer --config_file=config/base.yml --log_dir=logs/experiment_1
Ce script charge le module trainer, utilise le fichier de configuraton config/base.yml et stocke les logs dans logs/experiment_1.
Pour l’inférence, run_infer.bash :
#!/bin/bash
python -m modules.inference.predictor --model_path=models/model_final.pt --config_file=config/base.yml
Il exécute le prédicteur en chargeent les poids du modèle final et le fichier de config.
3. Fichier de configuration
La configuration se trouve généralement dans config/base.yml. Exemple simplifié :
model:
architecture: transformer
hyperparameters:
learning_rate: 0.001
hidden_dim: 512
data:
train_source: data/part1.train.txt
val_source: data/part1.val.txt
train:
max_epochs: 10
batch_size: 32
optimizer: AdamW
inference:
input: data/test_sequences.txt
output: results/predictions.txt
model: architecture et hyperparamètres.data: chemins des fichiers d’entraînement et de validation.train: paramètres d’entraînement (nombre d’époques, taille de lot, optimiseur).inference: fichiers d’entrée et de sortie pour la prédiction.
Modifier ce fichier YAML permet d’ajuster le comportement du projet sans toucher au code source.
Remarque : les exemples ci-dessus sont adaptés d’une structure courante de projet open source. Pour des détails précis, consulter le dépôt officiel du projet AliceMind.