Hi,
I was trying to run the following code and got the error message. Anyone can help how to resolve this?
%%time
model.fit_generator(train_generator, train_generator.n // batch_size, epochs=1, workers=3,
validation_data=validation_generator, validation_steps=validation_generator.n // batch_size)
Epoch 1/1
TypeError Traceback (most recent call last)
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/utils/data_utils.py in get(self)
577 while self.is_running():
–> 578 inputs = self.queue.get(block=True).get()
579 self.queue.task_done()
~/anaconda3/envs/fastai/lib/python3.6/multiprocessing/pool.py in get(self, timeout)
643 else:
–> 644 raise self._value
645
~/anaconda3/envs/fastai/lib/python3.6/multiprocessing/pool.py in worker(inqueue, outqueue, initializer, initargs, maxtasks, wrap_exception)
118 try:
–> 119 result = (True, func(*args, **kwds))
120 except Exception as e:
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/utils/data_utils.py in get_index(uid, i)
400 “”"
–> 401 return _SHARED_SEQUENCES[uid][i]
402
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/preprocessing/image.py in getitem(self, idx)
824 self.batch_size * (idx + 1)]
–> 825 return self._get_batches_of_transformed_samples(index_array)
826
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/preprocessing/image.py in _get_batches_of_transformed_samples(self, index_array)
1232 if self.image_data_generator.preprocessing_function:
-> 1233 img = self.image_data_generator.preprocessing_function(img)
1234 if self.target_size is not None:
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/applications/imagenet_utils.py in preprocess_input(x, data_format, mode)
177 return _preprocess_symbolic_input(x, data_format=data_format,
–> 178 mode=mode)
179
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/applications/imagenet_utils.py in _preprocess_symbolic_input(x, data_format, mode)
131 # ‘RGB’->‘BGR’
–> 132 x = x[…, ::-1]
133 mean = [103.939, 116.779, 123.68]
TypeError: ‘JpegImageFile’ object is not subscriptable
The above exception was the direct cause of the following exception:
StopIteration Traceback (most recent call last)
in ()
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
89 warnings.warn('Update your ' + object_name + 90 '
call to the Keras 2 API: ’ + signature, stacklevel=2)
—> 91 return func(*args, **kwargs)
92 wrapper._original_function = func
93 return wrapper
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/engine/training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
2190 batch_index = 0
2191 while steps_done < steps_per_epoch:
-> 2192 generator_output = next(output_generator)
2193
2194 if not hasattr(generator_output, ‘len’):
~/anaconda3/envs/fastai/lib/python3.6/site-packages/keras/utils/data_utils.py in get(self)
582 except Exception as e:
583 self.stop()
–> 584 six.raise_from(StopIteration(e), e)
585
586 def _send_sequence(self):
~/anaconda3/envs/fastai/lib/python3.6/site-packages/six.py in raise_from(value, from_value)
StopIteration: ‘JpegImageFile’ object is not subscriptable