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.
Fixes: Update cosine noise scheduling
Description
In the current DDPMScheduler implementation, using the
cosine
noise schedule results in a division-by-zero issue during sampling. Specifically,scheduler.alphas_cumprod[0] == 1.0
, which causes NaN values in the output image.You can reproduce the issue with the following snippet:
Fix
This PR applies clipping to the beta values first and re-computes alphas_cumprod accordingly before returning in
monai/networks/schedulers/scheduler.py: 112
. This ensures numerical stability during sampling and prevents NaNs in the output.Types of changes
./runtests.sh -f -u --net --coverage
../runtests.sh --quick --unittests --disttests
.make html
command in thedocs/
folder.