The notebooks under experiments/ are organized around the outputs already
generated by training and benchmarking.
span-vs-fsrcnn.ipynbselective-vs-full-processing.ipynbfp16-vs-int8.ipynb
sparse-sampling-analysis.ipynbscene-change-threshold.ipynbblur-detection-comparison.ipynb
ocr-accuracy-analysis.ipynbpsnr-ssim-correlation.ipynbsubjective-quality-study.ipynb
quantization-experiments.ipynbgpu-optimization.ipynbbatch-size-tuning.ipynb
These notebooks usually read from benchmarks/results/ and outputs/:
| Input | Produced by |
|---|---|
quality-metrics.csv |
benchmarks/scripts/benchmark_quality.py |
processing-times.csv |
benchmarks/scripts/benchmark_processing_time.py |
| OCR comparison CSV/JSON files | OCR-aware evaluation and benchmark runs |
| training logs | models.training.finetune_education outputs |
| exported images or videos | desktop runner or visual comparison tools |
- Run training or evaluation so you have fresh CSVs and summaries.
- Run benchmark wrappers if you need desktop timing or video metrics.
- Start Jupyter from the repo root or
experiments/. - Update notebook paths only if you intentionally changed output locations.
| Notebook area | Best supporting workflow |
|---|---|
| comparison | benchmarks.md and multiple model checkpoints |
| frame-selection | scripts/pipeline.py plus lecture-video extracts |
| quality-analysis | models.training.evaluation and OCR summary files |
| optimization | tools/benchmark-runner/runner.py and TFLite conversions |
- Keep generated CSVs in
benchmarks/results/when possible; many notebooks assume that layout. - Export final thesis figures to
thesis/or a dedicated output directory instead of saving only inside notebook cells. - Clear notebook outputs before committing if the files become noisy or oversized.