-
Notifications
You must be signed in to change notification settings - Fork 9
Description
TypeError: can't pickle generator objects
valid_gen = batch_img_gen(valid_df, BATCH_SIZE)
loss_history = [seg_model.fit_generator(batch_img_gen(train_df, BATCH_SIZE),
steps_per_epoch=min(train_ids.shape[0]//BATCH_SIZE, 100),
epochs=2,
use_multiprocessing=True,
validation_data = valid_gen,
validation_steps = min(train_ids.shape[0]//BATCH_SIZE, 50),
callbacks=callbacks_list,
workers=2)]
full error:
WARNING:tensorflow:From C:\Users\nnk\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
C:\Users\nnk\anaconda3\lib\site-packages\keras\engine\training_generator.py:49: UserWarning: Using a generator with use_multiprocessing=True
and multiple workers may duplicate your data. Please consider using the keras.utils.Sequence class. UserWarning('Using a generator with
use_multiprocessing=True`'
Exception in thread Thread-8:
Traceback (most recent call last):
File "C:\Users\nnk\anaconda3\lib\threading.py", line 926, in _bootstrap_inner
self.run()
File "C:\Users\nnk\anaconda3\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\nnk\anaconda3\lib\site-packages\keras\utils\data_utils.py", line 690, in _run
with closing(self.executor_fn(_SHARED_SEQUENCES)) as executor:
File "C:\Users\nnk\anaconda3\lib\site-packages\keras\utils\data_utils.py", line 685, in
initargs=(seqs, self.random_seed))
File "C:\Users\nnk\anaconda3\lib\multiprocessing\context.py", line 119, in Pool
context=self.get_context())
File "C:\Users\nnk\anaconda3\lib\multiprocessing\pool.py", line 176, in init
self._repopulate_pool()
File "C:\Users\nnk\anaconda3\lib\multiprocessing\pool.py", line 241, in _repopulate_pool
w.start()
File "C:\Users\nnk\anaconda3\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "C:\Users\nnk\anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Users\nnk\anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 89, in init
reduction.dump(process_obj, to_child)
File "C:\Users\nnk\anaconda3\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle generator objects
Exception in thread Thread-7:
Traceback (most recent call last):
File "C:\Users\nnk\anaconda3\lib\threading.py", line 926, in _bootstrap_inner
self.run()
File "C:\Users\nnk\anaconda3\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\nnk\anaconda3\lib\site-packages\keras\utils\data_utils.py", line 690, in _run
with closing(self.executor_fn(_SHARED_SEQUENCES)) as executor:
File "C:\Users\nnk\anaconda3\lib\site-packages\keras\utils\data_utils.py", line 685, in
initargs=(seqs, self.random_seed))
File "C:\Users\nnk\anaconda3\lib\multiprocessing\context.py", line 119, in Pool
context=self.get_context())
File "C:\Users\nnk\anaconda3\lib\multiprocessing\pool.py", line 176, in init
self._repopulate_pool()
File "C:\Users\nnk\anaconda3\lib\multiprocessing\pool.py", line 241, in _repopulate_pool
w.start()
File "C:\Users\nnk\anaconda3\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "C:\Users\nnk\anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Users\nnk\anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 89, in init
reduction.dump(process_obj, to_child)
File "C:\Users\nnk\anaconda3\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle generator objects