sliawatimena edited a comment on issue #8955: Can't pickle MXNet Modules URL: https://github.com/apache/incubator-mxnet/issues/8955#issuecomment-428501426 I am using windows 7, anaconda navigator 1.9.2, Python 3.6.6, Jupyter notebook 5.7.0, try to learn code from [Gluon crash course chapter 5](https://gluon-crash-course.mxnet.io/train.html). I already add: import pickle I got stuck at ``` for data, label in train_data: print(data.shape, label.shape) break --- AttributeError Traceback (most recent call last) <ipython-input-8-91a66f98d1d2> in <module>() ----> 1 for data, label in train_data: 2 print(data.shape, label.shape) 3 break E:\Anaconda\envs\mxnet\lib\site-packages\mxnet\gluon\data\dataloader.py in __iter__(self) 282 # multi-worker 283 return _MultiWorkerIter(self._num_workers, self._dataset, --> 284 self._batchify_fn, self._batch_sampler) 285 286 def __len__(self): E:\Anaconda\envs\mxnet\lib\site-packages\mxnet\gluon\data\dataloader.py in __init__(self, num_workers, dataset, batchify_fn, batch_sampler) 142 args=(self._dataset, self._key_queue, self._data_queue, self._batchify_fn)) 143 worker.daemon = True --> 144 worker.start() 145 workers.append(worker) 146 E:\Anaconda\envs\mxnet\lib\multiprocessing\process.py in start(self) 103 'daemonic processes are not allowed to have children' 104 _cleanup() --> 105 self._popen = self._Popen(self) 106 self._sentinel = self._popen.sentinel 107 # Avoid a refcycle if the target function holds an indirect E:\Anaconda\envs\mxnet\lib\multiprocessing\context.py in _Popen(process_obj) 221 @staticmethod 222 def _Popen(process_obj): --> 223 return _default_context.get_context().Process._Popen(process_obj) 224 225 class DefaultContext(BaseContext): E:\Anaconda\envs\mxnet\lib\multiprocessing\context.py in _Popen(process_obj) 320 def _Popen(process_obj): 321 from .popen_spawn_win32 import Popen --> 322 return Popen(process_obj) 323 324 class SpawnContext(BaseContext): E:\Anaconda\envs\mxnet\lib\multiprocessing\popen_spawn_win32.py in __init__(self, process_obj) 63 try: 64 reduction.dump(prep_data, to_child) ---> 65 reduction.dump(process_obj, to_child) 66 finally: 67 set_spawning_popen(None) E:\Anaconda\envs\mxnet\lib\multiprocessing\reduction.py in dump(obj, file, protocol) 58 def dump(obj, file, protocol=None): 59 '''Replacement for pickle.dump() using ForkingPickler.''' ---> 60 ForkingPickler(file, protocol).dump(obj) 61 62 # AttributeError: Can't pickle local object 'Dataset.transform_first.<locals>.base_fn' ``` please help. thanks.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services