From 4face7335200d03e50627c5c7cc041a4d0a9ccf3 Mon Sep 17 00:00:00 2001 From: Akihiro Nitta Date: Mon, 14 Dec 2020 11:05:21 +0900 Subject: [PATCH 1/4] Import matplotlib at the top --- pl_bolts/callbacks/vision/confused_logit.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pl_bolts/callbacks/vision/confused_logit.py b/pl_bolts/callbacks/vision/confused_logit.py index df54d48e02..235dc95f1f 100644 --- a/pl_bolts/callbacks/vision/confused_logit.py +++ b/pl_bolts/callbacks/vision/confused_logit.py @@ -1,7 +1,17 @@ +import importlib + import torch from pytorch_lightning import Callback from torch import nn +from pl_bolts.utils.warnings import warn_missing_pkg + +_MATPLOTLIB_AVAILABLE = importlib.util.find_spec("matplotlib") is not None +if _MATPLOTLIB_AVAILABLE: + from matplotlib import pyplot as plt +else: + warn_missing_pkg("matplotlib") # pragma: no-cover + class ConfusedLogitCallback(Callback): # pragma: no-cover """ @@ -93,7 +103,10 @@ def training_step(...): pl_module.train() def _plot(self, confusing_x, confusing_y, trainer, model, mask_idxs): - from matplotlib import pyplot as plt + if not _MATPLOTLIB_AVAILABLE: + raise ModuleNotFoundError( # pragma: no-cover + 'You want to use `matplotlib` which is not installed yet, install it with `pip install matplotlib`.' + ) confusing_x = confusing_x[:self.top_k] confusing_y = confusing_y[:self.top_k] From 1c8451cde61ba1847f04199cd30c3ca41f63d857 Mon Sep 17 00:00:00 2001 From: Akihiro Nitta Date: Mon, 14 Dec 2020 11:54:25 +0900 Subject: [PATCH 2/4] Add missing optional packages --- requirements/loggers.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/requirements/loggers.txt b/requirements/loggers.txt index e594af1651..4092df7fc1 100644 --- a/requirements/loggers.txt +++ b/requirements/loggers.txt @@ -1,2 +1,5 @@ # test_tube>=0.7.5 -# trains>=0.14.1 \ No newline at end of file +# trains>=0.14.1 +matplotlib +wandb>=0.8.21 +scipy From ef89d162b79f06b4a2312bed9f91577e4c11c9e9 Mon Sep 17 00:00:00 2001 From: Akihiro Nitta Date: Mon, 14 Dec 2020 13:44:07 +0900 Subject: [PATCH 3/4] Update wandb --- requirements/loggers.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/loggers.txt b/requirements/loggers.txt index 4092df7fc1..faa232f2f6 100644 --- a/requirements/loggers.txt +++ b/requirements/loggers.txt @@ -1,5 +1,5 @@ # test_tube>=0.7.5 # trains>=0.14.1 matplotlib -wandb>=0.8.21 +wandb scipy From 72a75674e8a5a5a4b4871da5e43f4a3a109139a0 Mon Sep 17 00:00:00 2001 From: Akihiro Nitta Date: Mon, 14 Dec 2020 16:52:14 +0900 Subject: [PATCH 4/4] Add mypy to requirements --- requirements/test.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements/test.txt b/requirements/test.txt index 6c40d41e00..44e3cf1965 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -9,5 +9,6 @@ check-manifest twine==1.13.0 isort>=5.6.4 pre-commit>=1.0 +mypy atari-py==0.2.6 # needed for RL