physicsnemo
physicsnemo copied to clipboard
🐛[BUG]: CorrDiff - EDMLossSR.__init__() got an unexpected keyword argument 'regression_net'
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`