A starter repository for deep‐learning projects, providing a standardized environment, launcher script, and tooling for debugging & profiling.
- Portable launcher (
start.py) isolates your system environment - PYTHONPATH is automatically set to project root
- Single entry point for scripts, debug, and profiling
- Git LFS support for large model/checkpoint files
- Ubuntu 24.04 (other OS not officially supported)
- Python 3.11+
- Git with Git LFS
# 1. Clone & fetch LFS objects
git clone https://github.com/<your-org>/<your-repo>.git
cd <your-repo>
git lfs install
git lfs pull
# 2. Create & activate virtualenv, install dependencies
./install_env.shAll project scripts are launched via the start.py wrapper:
./start.py -- /path/to/your_script.py [--script-args]start.pyensures a clean virtualenv and setsPYTHONPATHto the repo root- Use
--to separatestart.pyoptions from your script’s arguments
./start.py -- scripts/train.py -- --config configs/train.yamlWaits for a VS Code debug client to attach on port 5678:
./start.py -d -- scripts/train.py -- --config configs/train.yaml- Press F5 in VS Code
- Select the “Attach to start.py” debug configuration
Profiles with Scalene, output to prof.json:
./start.py -p -- scripts/train.py -- --config configs/train.yaml├── install_env.sh # creates virtualenv, installs dependencies
├── start.py # launcher + debug/profiler wrapper
├── requirements.txt # Python dependencies
├── scripts/ # user scripts (train.py, eval.py, etc.)
├── configs/ # YAML/JSON config files
├── src/ # project code (models/, data/, utils/)
└── prof.json # latest Scalene profile output
- Fork the repo
- Create a feature branch (
git checkout -b feat/my-feature) - Commit your changes
- Open a pull request against
main
Please follow PEP 8, include tests in tests/, and ensure all CI checks pass.
This project is licensed under the MIT License – see the LICENSE file for details.