[1843][DRAFT] Visualize Denoised Latents in Diffusion Engine#1845
Closed
moritzhauschulz wants to merge 244 commits intoecmwf:developfrom
Closed
[1843][DRAFT] Visualize Denoised Latents in Diffusion Engine#1845moritzhauschulz wants to merge 244 commits intoecmwf:developfrom
moritzhauschulz wants to merge 244 commits intoecmwf:developfrom
Conversation
Implemented Identity class TODO: implement EMATeacher
The big question on the EMA teacher side to me is how to allow for a fleixble teacher and student architecture that can differ We updated some APIs of the abstract base class to allow the ema_model forward, subject to change given the loss calculator, which is imho the second big question mark
Easier to read and as batchsize gets more complicated in SSL this will be a useful abstraction
It runs so far. Next steps: - Route all the config options - Start writing the loss functions to understand the state requirements
…andom and healpix masking. Open issues with _coords_local, centroids and probably other things.
TODO: - Forecast still needs to be adapted - Some more cleanup of variable naming, return values etc
* initial commit [draft]
* adapt noise conditioner to make it closer to DiT
* adapt dimensionalities – code runs with default config
* lint
* fix: add conditional prediction mode handling
This commit resolves architectural incompatibilities when integrating
diffusion-based forecast engines:
1. FSDP Sharding: DiffusionForecastEngine wraps ForecastingEngine
as `self.net`, but trainer code assumed direct `fe_blocks` access. Fixed by:
- Adding fe_diffusion_model conditional check in init_model_and_shard()
- Routing to model.forecast_engine.net.fe_blocks for diffusion mode
2. Model Initialization: Reordered ForecastingEngine creation to handle both
standard and diffusion-wrapped variants with proper fallback.
3. Target Format Handling: Autoencoder mode uses different target
structure than diffusion mode. Added conditional formatting:
- Diffusion: targets = {"targets": [targets], "aux_outputs": aux}
- Autoencoder: targets = {"physical": batch[0]}
4. Config Updates: added file config/diffusion_config.yml for diffusion
model config
* added forecast engine argument
* removed unecessary logging
* reverting back to the previous config
* replaced getattr by get
* modification of forecasting engine initialization
---------
Co-authored-by: moritzhauschulz <moritz.hauschulz@gmail.com>
Co-authored-by: Matthias Karlbauer <matthias.karlbauer@ecmwf.int>
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This is a DRAFT PR to understand the changes made in an attempt to visualize denoised images with the existing
inferenceandevaluatepipelines. This is currently still causing errors.Issue Number
Relates to #1843
Checklist before asking for review
./scripts/actions.sh lint./scripts/actions.sh unit-test./scripts/actions.sh integration-testlaunch-slurm.py --time 60