physicsnemo icon indicating copy to clipboard operation
physicsnemo copied to clipboard

🐛[BUG]: CorrDiff - EDMLossSR.__init__() got an unexpected keyword argument 'regression_net'

Open stathius opened this issue 1 year ago • 0 comments

Version

0.7.0a

On which installation method(s) does this occur?

Docker, Source

Describe the issue

Analysis: Line training_loop.py:191 calls modulus.metrics.diffusion.EDMLossSR

    loss_fn = construct_class_by_name(**loss_kwargs, **interface_kwargs)

with loss_kwargs = {'class_name': 'modulus.metrics.diffusion.EDMLossSR'} and interface_kwargs having the following keys ['regression_net', 'img_shape_x', 'img_shape_y', 'patch_shape_x', 'patch_shape_y', 'patch_num', 'hr_mean_conditioning']). These keys have no overlap with the arguments of EDMLossSR.

Proposed fix: Investigate why interface_kwargs has this arguments and why they are passed to EDMLossSR.

Turbo fix: Pass an empty interface_kwargs

Minimum reproducible example

python3 train.py --config-name=config_train_diffusion.yaml
config: 
     arch: ddpmpp-cwb
     precond: edmv1
     task: diffusion

Relevant log output

Traceback (most recent call last):
  File "/code/modulus/examples/generative/corrdiff/train.py", line 344, in main
    training_loop.training_loop(
  File "/code/modulus/examples/generative/corrdiff/training/training_loop.py", line 190, in training_loop  <--------------
    loss_fn = construct_class_by_name(**loss_kwargs, **interface_kwargs)
  File "/code/modulus/modulus/utils/generative/utils.py", line 306, in construct_class_by_name
    return call_func_by_name(*args, func_name=class_name, **kwargs)
  File "/code/modulus/modulus/utils/generative/utils.py", line 296, in call_func_by_name
    return func_obj(*args, **kwargs)
TypeError: EDMLossSR.__init__() got an unexpected keyword argument 'regression_net'

Environment details

python version: 3.10
modulus commit: `c07fa25321c48a1d71efca12b67d056adbca8bd4`

stathius avatar May 31 '24 00:05 stathius