Surface Neptune installation problems to the user (#14715)

This commit is contained in:
Carlos Mocholí 2022-09-20 12:19:51 +02:00 committed by GitHub
parent 59f4ffc050
commit 810643bca2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 6 deletions

View File

@ -231,11 +231,8 @@ class NeptuneLogger(Logger):
agg_default_func: Optional[Callable[[Sequence[float]], float]] = None,
**neptune_run_kwargs: Any,
):
if neptune is None:
raise ModuleNotFoundError(
"You want to use the `Neptune` logger which is not installed yet, install it with"
" `pip install neptune-client`."
)
if not _NEPTUNE_AVAILABLE:
raise ModuleNotFoundError(str(_NEPTUNE_AVAILABLE))
# verify if user passed proper init arguments
self._verify_input_arguments(api_key, project, name, run, neptune_run_kwargs)
super().__init__(agg_key_funcs=agg_key_funcs, agg_default_func=agg_default_func)

View File

@ -43,6 +43,7 @@ LOGGER_CTX_MANAGERS = (
mock.patch("pytorch_lightning.loggers.mlflow.mlflow"),
mock.patch("pytorch_lightning.loggers.mlflow.MlflowClient"),
mock.patch("pytorch_lightning.loggers.neptune.neptune", new_callable=create_neptune_mock),
mock.patch("pytorch_lightning.loggers.neptune._NEPTUNE_AVAILABLE", return_value=True),
mock.patch("pytorch_lightning.loggers.wandb.wandb"),
mock.patch("pytorch_lightning.loggers.wandb.Run", new=mock.Mock),
)
@ -290,7 +291,9 @@ def test_logger_with_prefix_all(tmpdir, monkeypatch):
logger.experiment.log_metric.assert_called_once_with(ANY, "tmp-test", 1.0, ANY, 0)
# Neptune
with mock.patch("pytorch_lightning.loggers.neptune.neptune"):
with mock.patch("pytorch_lightning.loggers.neptune.neptune"), mock.patch(
"pytorch_lightning.loggers.neptune._NEPTUNE_AVAILABLE", return_value=True
):
logger = _instantiate_logger(NeptuneLogger, api_key="test", project="project", save_dir=tmpdir, prefix=prefix)
assert logger.experiment.__getitem__.call_count == 2
logger.log_metrics({"test": 1.0}, step=0)

View File

@ -15,6 +15,7 @@ import os
import pickle
import unittest
from collections import namedtuple
from unittest import mock
from unittest.mock import call, MagicMock, patch
import pytest
@ -78,6 +79,10 @@ def tmpdir_unittest_fixture(request, tmpdir):
@patch("pytorch_lightning.loggers.neptune.neptune", new_callable=create_neptune_mock)
class TestNeptuneLogger(unittest.TestCase):
def run(self, *args, **kwargs):
with mock.patch("pytorch_lightning.loggers.neptune._NEPTUNE_AVAILABLE", return_value=True):
super().run(*args, **kwargs)
def test_neptune_online(self, neptune):
logger = NeptuneLogger(api_key="test", project="project")
created_run_mock = logger.run