-
Notifications
You must be signed in to change notification settings - Fork 540
Restructure diffusion subpackage #1268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restructure diffusion subpackage #1268
Conversation
No tests fixed yet.
phsyicsnemo.utils, launch.config is just gone. It was empty.
I still have mixed feelings about the 'spell out any number less than 10', but it is the style guide rule that I am contractually required to make. The only way around it is for it to be in code font....
I want to init-cap all the 'utils' in the headings.....but it could be considered a code thing, so I am leaving it.
|
I had small changes to the two rst files. If those get merged well, I approve. |
Signed-off-by: Charlelie Laurent <claurent@nvidia.com>
Signed-off-by: Charlelie Laurent <claurent@nvidia.com>
Signed-off-by: Charlelie Laurent <claurent@nvidia.com>
…/CharlelieLrt/modulus into restructure-diffusion-subpackage
Signed-off-by: Charlelie Laurent <claurent@nvidia.com>
Signed-off-by: Charlelie Laurent <claurent@nvidia.com>
Signed-off-by: Charlelie Laurent <claurent@nvidia.com>
Signed-off-by: Charlelie Laurent <claurent@nvidia.com>
pzharrington
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, LGTM!
|
/blossom-ci |
2 similar comments
|
/blossom-ci |
|
/blossom-ci |
ktangsali
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed the changes in the docs/ folder and the pyproject.toml file and all of them look good to me. Thanks!
|
/blossom-ci |
PhysicsNeMo Pull Request
Description
Restructure Diffusion Subpackage
This PR establishes the foundational structure for the
physicsnemo.diffusionsubpackage, organizing diffusion-related functionality into a clean, layered architecture.Summary
Created
physicsnemo.diffusionpackage with dedicated submodules:generate/- Higher-level generation utilities and pipelinessamplers/- Samplers based on ODE and SDE solversmetrics/- Loss functions and diffusion-specific metrics (FID, etc.)preconditioners/- Preconditioning model wrappersmulti_diffusion/- Patch-based diffusion utilitiesdenoisers/- Placeholder for future denoiser implementations; to be used in samplersnoise_schedulers/- Placeholder for future noise scheduler implementationsutils/- Shared utilitiesAdded warning system for incremental migration:
FutureFeatureWarningfor placeholder modules not yet implementedLegacyFeatureWarningfor existing code that will be deprecated in future releasesReorganized UNet models:
SongUNetmodels and application-specific UNet wrappers tophysicsnemo.models.diffusion_unetsExtracted reusable layers into
physicsnemo.nn:This includes for example:
group_norm.py- GroupNorm variants with optional FP32 conversionunet_layers.py- UNet encoder/decoder blocks, attention blocksembedding_layers.py- Positional and Fourier embeddingsEtc...
Cleaned up legacy code:
physicsnemo.models.diffusion/examples/directoryAdded import-linter contracts for the diffusion package:
generate→samplers/metrics→preconditioners/multi_diffusion/denoisers/noise_schedulers→utilsUpdated all examples and tests to use the new package structure
I am familiar with the Contributing Guidelines.
New or existing tests cover these changes.
The documentation is up to date with these changes.
The CHANGELOG.md is up to date with these changes.
An issue is linked to this pull request.
Dependencies
Review Process
All PRs are reviewed by the PhysicsNeMo team before merging.
Depending on which files are changed, GitHub may automatically assign a maintainer for review.
We are also testing AI-based code review tools (e.g., Greptile), which may add automated comments with a confidence score.
This score reflects the AI’s assessment of merge readiness and is not a qualitative judgment of your work, nor is
it an indication that the PR will be accepted / rejected.
AI-generated feedback should be reviewed critically for usefulness.
You are not required to respond to every AI comment, but they are intended to help both authors and reviewers.
Please react to Greptile comments with 👍 or 👎 to provide feedback on their accuracy.