From a3d1fd4dace954c94f89fe3a7aeb7677dd4bf53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20=C5=81usakowski?= Date: Thu, 7 May 2020 13:41:52 +0200 Subject: [PATCH] Fix pickling NeptuneLogger in offline mode --- pytorch_lightning/loggers/neptune.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pytorch_lightning/loggers/neptune.py b/pytorch_lightning/loggers/neptune.py index b9742c0b72a893..927416e2bb7c35 100644 --- a/pytorch_lightning/loggers/neptune.py +++ b/pytorch_lightning/loggers/neptune.py @@ -197,8 +197,12 @@ def __init__(self, def __getstate__(self): state = self.__dict__.copy() - # cannot be pickled + + # Experiment cannot be pickled, and additionally its ID cannot be pickled in offline mode state['_experiment'] = None + if self.offline_mode: + state['_experiment_id'] = None + return state @property @@ -358,7 +362,8 @@ def _create_or_get_experiment(self): if self.offline_mode: project = neptune.Session(backend=neptune.OfflineBackend()).get_project('dry-run/project') else: - project = neptune.Session.with_default_backend(api_token=self.api_key).get_project(self.project_name) + session = neptune.Session.with_default_backend(api_token=self.api_key) + project = session.get_project(self.project_name) if self._experiment_id is None: exp = project.create_experiment(