InnerEye-DeepLearning icon indicating copy to clipboard operation
InnerEye-DeepLearning copied to clipboard

Make updates to avoid lightning deprecation warnings

Open kh296 opened this issue 2 years ago • 1 comments

🚀 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

AB#6281

kh296 avatar Jun 22 '22 08:06 kh296

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.

dkarhi avatar May 21 '23 16:05 dkarhi