AI4Good Lab @Mila β’ Montreal 2025 Cohort
Project Cere develops multimodal machine learning models that integrate visual, textual, and audio data to address pressing social challenges. This repository contains our codebase, experiments, and documentation for creating interpretable AI systems with real-world impact.
- Modular Architecture: Easy to extend with new classifiers
- Multiple Classifier Types: Classical ML, Neural Networks, and Ensemble methods
- Flexible Data Pipeline: Support for various fMRI data formats
- Comprehensive Evaluation: Cross-validation, metrics, and visualization
- Hyperparameter Optimization: Built-in grid search capabilities
- Experiment Management: YAML-based configuration system
- Extensible Design: Factory pattern for seamless classifier addition
- Python 3.10+
- Git
-
Clone the repository:
git clone https://github.com/marialagakos/AI4Good-MTL-Group-2.git cd AI4Good-MTL-Group-2 -
Create and activate virtual environment:
python -m venv cere-env # Linux/MacOS source cere-env/bin/activate # Windows (PowerShell) .\cere-env\Scripts\Activate.ps1
-
Install dependencies:
pip install --upgrade pip pip install -e . # Editable install for development pip install -r requirements.txt # Optional: Full dependency install
Hereβs a concise team onboarding guide and your personal command cheat sheet for working with this repository:
-
Fork the Repository
- Each member creates a personal fork:
- Go to github.com/marialagakos/AI4Good-MTL-Group-2 β Click "Fork" (top-right).
- Each member creates a personal fork:
-
Clone Your Fork
git clone https://github.com/YOUR-USERNAME/AI4Good-MTL-Group-2.git cd AI4Good-MTL-Group-2 -
Set Up Remotes
git remote add upstream https://github.com/marialagakos/AI4Good-MTL-Group-2.git git remote -v # Verify: origin=your fork, upstream=original -
Sync with Upstream
git fetch upstream git checkout main git merge upstream/main git push origin main # Keep your fork updated
Project-Cere/
βββ main.py # Main execution script
βββ README.md # Project documentation
βββ data/ # Raw and processed datasets
β βββ feature_extraction.py # Feature extraction utilities
β βββ DATA_INSTRUCTIONS.md
β βββ .ipnyb_checkpoints/
β βββ src/
β β βββ telepath/
β β βββ telepath.egg-info/
β β βββ temp_audio_chunks/
β βββ pca_data/
β βββ loaders.py # loading (fmri, audio, text, visual)
β βββ preprocessors.py # preprocessing
β βββ transforms.py # transformations
β βββ fmri/ # fMRI data
β βββ audio/ # Audio samples
β βββ transcripts/ # Text corpora
β βββ visual/ # Image/video data
βββ models/ # Classifier implementations
β βββ base_classifier.py # Abstract base class
β βββ classical/ # Traditional ML methods
β β βββ svm.py
β β βββ random_forest.py
β β βββ logistic_regression.py
β βββ neural/ # Neural network methods
β β βββ mlp.py
β β βββ cnn.py
β β βββ lstm.py
β β βββ transformer.py
β βββ ensemble/ # Ensemble methods
β βββ voting.py
β βββ stacking.py
βββ utils/ # Utility functions
β βββ metrics.py # Evaluation metrics
β βββ visualization.py # Plotting functions
β βββ io_utils.py # I/O operations
βββ experiments/ # Experiment management
β βββ experiment_runner.py
β βββ hyperparameter_search.py
βββ .gitignore # File control
βββ docs/ # Technical documentation
βββ tests/ # Unit and integration tests
βββ LICENSE.md
python src/main.py --modality all --config configs/default.yaml--modality: Chooseaudio,text,visual, orall--config: Path to YAML configuration file
jupyter lab notebooks/git checkout -b feature/your-feature-name # e.g., feature/login-formgit add .
git commit -m "Description of changes"
git push -u origin feature/your-feature-namegit checkout main
git fetch upstream
git merge upstream/main # Or use `git rebase upstream/main`
git push origin maingit checkout feature/your-feature-name
git rebase main # Apply your changes on top of latest updates
git push --force # Only if you've rebased- Go to your fork on GitHub.
- Click "Compare & Pull Request" for your branch.
- Target
marialagakos/AI4Good-MTL-Group-2:mainas the base.
- Never push directly to
upstream(only PRs). - Always branch from
main(no direct commits tomain). - Rebase instead of merge to keep history clean (use
git rebase main).
- Permission denied?
git remote set-url origin https://github.com/YOUR-USERNAME/AI4Good-MTL-Group-2.git
- Broken branch?
git checkout main git branch -D broken-branch
Print this or save it as a text file! Need a visual workflow diagram? Let me know.
| Phase | Key Deliverables |
|---|---|
| Data Analysis | EDA reports, preprocessing pipelines |
| Modeling | Multimodal fusion architectures |
| Evaluation | Cross-modal attention visualizations |
| Deployment | Flask API for model serving |
- Maria Lagakos - Feature Extraction
- Sophie Strassmann - Creative Director, Pipeline Architecture, and Classification Team
- Yujie Chen - Classification Team
- Keyu Liang - Feature Extraction and Data Migration
- Maria Gallamoso - Feature Extraction Team
- Catherina Medeiros Director of Imaging, Feature Extraction Team
This project is licensed under the MIT License - see LICENSE.md for details.
We gratefully acknowledge:
- Jennifer Addison and Yosra Kazemi for their expertise and leadership
- The AI4Good Lab Montreal and Mila team for their support
- Our TA Hugo Berard and Laetitia Constantin
Consulting Scholars and Mentors:
- Rose Landry - Mila
- Adel Halawa - McGill University
- Dr. Lune Bellec - UniversitΓ© de MontrΓ©al
- Dr. Mayada Elsabbagh - Transforming Autism Care Consortium
- The Algonauts Project
- Compute Canada for their computational resources
- The Digital Research Alliance of Canada