[MONAI Bundle] Very long errors during config instantiation - Clean up raised errors
Is your feature request related to a problem? Please describe.
When there is an error in the monai bundle config during instantiation, and the config is large, the RuntimeError ends up being extremely long.
This is counterproductive for debugging and pollutes the terminal with uninformative error messages.
The root cause of this looks to be the RuntimeError messages generated here:
- https://github.com/Project-MONAI/MONAI/blob/ff430286c37e78d7592372a5a97377f0cbb0219c/monai/bundle/config_item.py#L295
- https://github.com/Project-MONAI/MONAI/blob/ff430286c37e78d7592372a5a97377f0cbb0219c/monai/utils/module.py#L274
To Reproduce Run any relatively large configuration with a wrongly configured argument, and this will occur. Attached is an example config and the error log below.
The command run for the bundle to run is
python -m monai.bundle run system --config_file config.yaml
error_log.txt config.json [YAML renamed to JSON as github doesn't allow uploading YAML]
Describe the solution you'd like A clear and concise error message would be more informative.
I have the following suggestions:
- Remove the
RuntimeErrorraised inConfigComponentas the instantiate call will already raise it. Remove this basically: https://github.com/Project-MONAI/MONAI/blob/ff430286c37e78d7592372a5a97377f0cbb0219c/monai/bundle/config_item.py#L295 - It would be ideal if the RuntimeError raised in https://github.com/Project-MONAI/MONAI/blob/ff430286c37e78d7592372a5a97377f0cbb0219c/monai/utils/module.py#L274 shows only the
__pathand not the fullkwargsby default. Maybe this could be moved into debug mode instead?
I'm happy to send a PR for this @KumoLiu Let me know
Hi @surajpaib, sure, welcome for the contribution. Thanks.