Skip to content

Project structure

The template uses a small but expandable structure.

.
├── train.py
├── evaluate.py
├── callbacks.py
├── utils.py
├── pyproject.toml
├── pixi.lock
├── README.md
├── LICENSE
├── .gitignore
├── configs/
│   └── default.yaml
├── local/
├── model/
│   ├── __init__.py
│   ├── dataset.py
│   ├── loss.py
│   ├── model.py
│   └── pl_model.py
└── tests/
    └── test_smoke.py

Top-level files

File Purpose
train.py Training entry point
evaluate.py Evaluation entry point
callbacks.py Aim figure logging callback
utils.py Shared helper functions
pyproject.toml Project metadata, dependencies, Pixi tasks
pixi.lock Locked dependency versions
.gitignore Keeps generated files out of git

configs/

Contains YAML configuration files.

Default file:

configs/default.yaml

Use this folder for experiment configs.

model/

Contains the ML code:

File Purpose
dataset.py Data module
model.py Neural network architecture
loss.py Loss functions
pl_model.py PyTorch Lightning module

tests/

Contains smoke tests and future unit tests.

Default file:

tests/test_smoke.py

local/

This folder is ignored by git and is intended for generated local artifacts:

local/aim/
local/checkpoints/
local/figures/

Keep raw data, generated data, checkpoints, runs, and temporary outputs under local/.