This repository is a demonstration of how to use the PyTorchLabFlow framework for organizing, managing, and running deep‑learning experiments. The demo applies this framework to a military aircraft classification task.
In the last cell of .setup.ipynb, you call setup_project() with the project name MilitaryAircraftClassification. This creates the internal folder structure inside the directory MilitaryAircraftClassification.
Use VS Code and a Jupyter notebook (designing.ipynb) in parallel:
- Write component code (models, data loaders, utilities) inside
./MyCompDir/. - In
designing.ipynb, import and assemble components via dictionary representations for rapid experimentation.
After components are debugged, configure pipelines in ./ppl.ipynb. Each pipeline is given a unique ID (e.g., trl*). You define how your components are connected, hyper‑parameters, and execution logic.
- Training is done in
./Training.ipynb, where per‑epoch metrics are printed (viatqdm) inside the training loop. - Real‑time monitoring and review of running/completed experiments are done in
./Observe.ipynb.
In ./Ops.ipynb, you can manage problematic pipelines:
- Remove incompatible or corrupted pipeline entries from the SQLite database.
- Stop a running pipeline using
PipeLine.stop_running.
Use Ana.ipynb to analyse your experiments:
- Filter pipelines, locate those that share the same components
- View first‑level experiment details and status
- Generate summary comparisons across experiments.
Place the training split of the Kaggle dataset into the designated data directory inside the project. For example:
AirCrafts_data/
└── Training/ ← insert the training split here
├── class1/
├── class2/
└── …
└── Valid/ ← insert the vlidation split here
├── class1/
├── class2/
└── …
-
./MyCompDir/: Contains reusable and customizable component source code (models, dataset, loss and metric function etc.) -
./ProjDir/MilitaryAircraftClassification/: This directory is auto-created bylab.create_project()during Step 1. It stores:- Pipeline definitions
- Logs & metrics
- Checkpoints & artifacts
- Experiment metadata (SQLite database)
-
The dataset is not included in the repository to keep the repo size minimal. Users are expected to download the dataset separately and place it in the appropriate directory as shown Dataset Directory Instruction.
-
Although PyTorchLabFlow supports saving model weights at every epoch, this demo retains only the final epoch's checkpoint to reduce storage overhead.