InnerEye-DeepLearning
InnerEye-DeepLearning copied to clipboard
Make updates to avoid lightning deprecation warnings
🚀 Feature
Update packages and/or InnerEye code, so as not to have lightning deprecation warnings.
Motivation
When running the InnerEye code (commit b42043f), the following deprecation warnings are issued:
pytorch_lightning/callbacks/model_checkpoint.py:244: LightningDeprecationWarning: `ModelCheckpoint(every_n_val_epochs)` is deprecated in v1.4 and will be removed in v1.6. Please use `every_n_epochs` instead.
pytorch_lightning/core/lightning.py:399: LightningDeprecationWarning: `self.log(sync_dist_op='mean')` is deprecated and will be removed in v.1.6. Use `self.log(reduce_fx=mean)` instead.
pytorch_lightning/loggers/base.py:337: LightningDeprecationWarning: `LightningLoggerBase.close` method is deprecated in v1.5 and will be removed in v1.7. Please use `LightningLoggerBase.finalize` instead.
Pitch
It would be nice if packages and/or code could be updated so as to avoid the deprecation warnings - and to be future ready :)
Alternatives
There's probably a way of switching off the warnings, but addressing them would be better than hiding them.
Additional context
The deprecation warnings can be obtained by running the HelloWorld
model, as outlined in README.md:
export PYTHONPATH=`pwd`
python InnerEye/ML/runner.py --model=HelloWorld
I took a look at this in the current main branch (commit 2877002). The first two warning have already been fixed, but the third is still present. There are also 2 new warnings:
InnerEye-DeepLearning/InnerEye/ML/lightning_base.py:398: LightningDeprecationWarning: `Trainer.lr_schedulers` is deprecated in v1.6 and will be removed in v1.8. You can use `trainer.lr_scheduler_configs` instead which contains dataclasses instead of dictionaries.
InnerEye-DeepLearning/InnerEye/ML/model_training.py:269: LightningDeprecationWarning: Using `trainer.logger` when multiple loggers are configured. This behavior will change in v1.8 when `LoggerCollection` is removed, and `trainer.logger` will return the first logger available.