Skip to content

PyNNLF Project Structure

PyNNLF is now a Python package with YAML-based configuration. The notebooks are no longer required to run experiments.

Top-level layout

PyNNLF/
├─ src/
│  └─ pynnlf/
│     ├─ api.py
│     ├─ engine.py
│     ├─ runner.py
│     ├─ tests_runner.py
│     ├─ workspace.py
│     └─ scaffold/
│        ├─ data/
│        ├─ models/
│        └─ specs/
├─ docs/
├─ example_project/
│  ├─ data/
│  ├─ models/
│  ├─ specs/
│  └─ experiment_result/
├─ data/
├─ requirements.txt
└─ pyproject.toml

Key folders

src/pynnlf/

Core package source code, including the experiment engine, runner, and workspace initialization.

src/pynnlf/scaffold/

Template workspace copied when you run initialization. Includes sample data, model templates, and YAML specs.

example_project/

An example workspace generated by initialization. This is where you edit YAML specs and run experiments.

docs/

Documentation source files for the website.

data/

Repository-level datasets and metadata. Workspace datasets live in each workspace under data/.

Workspace structure (created by init)

my_project/
├─ data/
├─ models/
├─ specs/
│  ├─ experiment.yaml
│  ├─ batch.yaml
│  ├─ tests_ci.yaml
│  └─ tests_full.yaml
└─ experiment_result/
  └─ Archive/Testing Result/

Where to edit

  1. Define experiments in specs/experiment.yaml.
  2. Add or edit models in models/.
  3. Add datasets in data/.
  4. Run experiments to populate experiment_result/.