From 3fba166dc5a1ecbd48b59f1e15c90498051f891c Mon Sep 17 00:00:00 2001 From: Victor Mylle Date: Tue, 7 May 2024 22:04:34 +0000 Subject: [PATCH] Wrote more about workings of diffusion models and fixed intermediate samples --- Reports/November/verslag.synctex.gz | Bin 17126 -> 0 bytes Reports/Thesis/sections/results.tex | 12 +- Reports/Thesis/sections/results/diffusion.tex | 13 ++ Reports/Thesis/verslag.aux | 18 +-- Reports/Thesis/verslag.log | 18 +-- Reports/Thesis/verslag.pdf | Bin 7863303 -> 7865015 bytes Reports/Thesis/verslag.synctex.gz | Bin 272343 -> 0 bytes Reports/Thesis/verslag.tex | 2 +- Reports/Thesis/verslag.toc | 8 +- src/trainers/diffusion_trainer.py | 151 +++++++++++------- src/training_scripts/diffusion_training.py | 19 +-- 11 files changed, 135 insertions(+), 106 deletions(-) delete mode 100644 Reports/November/verslag.synctex.gz create mode 100644 Reports/Thesis/sections/results/diffusion.tex delete mode 100644 Reports/Thesis/verslag.synctex.gz diff --git a/Reports/November/verslag.synctex.gz b/Reports/November/verslag.synctex.gz deleted file mode 100644 index e8b9bb7ce37bf4de8afaa124e7bb2a648c7944ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17126 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