Browse code

make DataSaver picklable

Bas Nijholt authored on 09/04/2020 22:39:48
Showing 1 changed files
... ...
@@ -51,6 +51,18 @@ class DataSaver:
51 51
         learner_data, self.extra_data = data
52 52
         self.learner._set_data(learner_data)
53 53
 
54
+    def __getstate__(self):
55
+        return (
56
+            self.learner,
57
+            self.arg_picker,
58
+            self._get_data(),
59
+        )
60
+
61
+    def __setstate__(self, state):
62
+        learner, arg_picker, data = state
63
+        self.__init__(learner, arg_picker)
64
+        self._set_data(data)
65
+
54 66
     @copy_docstring_from(BaseLearner.save)
55 67
     def save(self, fname, compress=True):
56 68
         # We copy this method because the 'DataSaver' is not a