fizyr / keras-retinanet Goto Github PK
View Code? Open in Web Editor NEWKeras implementation of RetinaNet object detection.
License: Apache License 2.0
Keras implementation of RetinaNet object detection.
License: Apache License 2.0
Hi there... thanks for putting together this repo.
I was trying to run the coco training code and ran into the following error:
Traceback (most recent call last):
File "examples/train_coco.py", line 60, in
model = create_model(weights=args.weights)
File "examples/train_coco.py", line 38, in create_model
return ResNet50RetinaNet(image, num_classes=90, weights=weights)
File "build/bdist.linux-x86_64/egg/keras_retinanet/models/resnet.py", line 36, in ResNet50RetinaNet
File "build/bdist.linux-x86_64/egg/keras_resnet/models/_2d.py", line 178, in ResNet50
File "build/bdist.linux-x86_64/egg/keras_resnet/models/_2d.py", line 82, in ResNet
File "build/bdist.linux-x86_64/egg/keras/legacy/interfaces.py", line 87, in wrapper
TypeError: init() got an unexpected keyword argument 'freeze_bn'
Any thoughts on what might be wrong with my setup?
Thanks.
in the code there are multiple asserts to only allow a batch size of 1. I tried starting the training on the COCO dataset, but with this restriction it would take a very large training time.
What is the reason of this restriction?
I'm wondering if using transposed convolution instead of bilinear up-sampling for the feature pyramid would be advantageous. Any thoughts?
This is more of a general question about retinanet and dense detection:
In the case where a ground truth bounding box doesn't have an IOU score of >= 0.5 with any of the anchor proposals (small items), is it not added to the set of ground truth targets? And if this is the case, does that mean that if the net correctly predicts the object, it is penalized?
I was looking through the model specification code and also looking back at the RetinaNet paper and the FPN paper and perhaps found a discrepancy. In the FPN paper (first block of text on page 4), the authors mention using a 3x3 conv layer to reduce aliasing effects. It appears that this is not in the current implementation here and I'm wondering if there's a reason or if it was just overlooked. I realize that this would be somewhat redundant with first layers of the classification and regression submodels, but since it wouldn't be shared across levels of the pyramid, it could have utility.
I don't have a great sense of how important this layer is, but I thought it was at least worth bringing up. The RetinaNet paper is a bit lacking in description so it's not even totally clear that they reused this aspect of FPN.
Hi.
I have some trouble in prediction. Could you help me?
I have trained the RetinaNet in my own dataset and want to get the predicted result.
I made a new generator for my dataset based on PascalVocIterator, and it works well in training step.
For the prediction, I tried to get the result based ipython example.
I would like to get the prediction result in the order of my test data path list, but the prediction is not sync to my list order.
How can I get the the result in the order of my list?
I have trained pascal model and like to see how good of my trained model.
Do you have a demo.py which takes a pretrained model and one jpeg image as an input and output an image with detected bounded box?
Thanks,
@hgaiser , hello.
from the closed issue. i create model, load weights.
#20
i train model with 2 methods, first is train_pascal.py, second is ResNet50RetinaNet - Pascal VOC.ipynb.
i create model, load weights, use the predict code segments in ResNet50RetinaNet - Pascal VOC.ipynb.
the model generated by the first method can not predict the results, nothing recognized, the second can predict results, as common.
i think the two model is same, so i use the same predict code.
is there anything wrong? please help me to figure it out.
Hey guys, when I run inference with ipyn (VOCpascal) I get this error:
`---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in ()
----> 1 image_batch, outputs = next(test_generator)
2 image = image_batch[0, ...].copy()
3 image -= min(image.flatten())
4 image /= max(image.flatten())
5 image *= 255
/usr/local/lib/python2.7/dist-packages/keras_retinanet/preprocessing/pascal_voc.pyc in next(self)
179 # lock indexing to prevent race conditions
180 with self.lock:
--> 181 selection, _, batch_size = next(self.index_generator)
182
183 result = self._get_batches_of_transformed_samples(selection)
ValueError: need more than 1 value to unpack`
the initialization of data throws no error, actually gives no feedback at all, but I think its fine.
path should be correct, test.txt exists and contains just one line: the name of the image (without .jpg)
I saw here that someone had kind of the same error. downgrading to keras 2.0.8 throws a new error at a prior step, so I would like to avoid that. I think I have all the changes from the PR mentioned in the other issue.
Any ideas or advice or workarounds?
versions:
python 2.7.6
keras 2.0.9
I always get OOM when run train_pascal.py, so I wonder how much memory should be provided to run this file.
I find the definition of ResNet50 in keras_resnet/models/_2d.py
def ResNet50(inputs, blocks=None, include_top=True, classes=1000, *args, **kwargs)
There is not the "freeze_bn" parameter.
Hi, Can I check with you how does your implementation performs on VOC 07 (trained with 07 or 07+12) as well as on COCO val. Your information would be highly appreciated.
I'm trying to understand how the anchor box proposals are being generated and it seems like calling anchors.anchor_targets(...)
generates 2196
anchor targets. The paper describes having 100k anchor boxes per input image. Am I missing something?
I tried to train the retinanet on a Pascal dataset. And I got a ValueError like this:
Epoch 1/50
Traceback (most recent call last):
File "train_pascal.py", line 114, in
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/home/Conda/.local/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/home/Conda/.local/lib/python3.6/site-packages/keras/engine/training.py", line 2114, in fit_generator
class_weight=class_weight)
File "/home/Conda/.local/lib/python3.6/site-packages/keras/engine/training.py", line 1826, in train_on_batch
check_batch_axis=True)
File "/home/Conda/.local/lib/python3.6/site-packages/keras/engine/training.py", line 1411, in _standardize_user_data
exception_prefix='target')
File "/home/Conda/.local/lib/python3.6/site-packages/keras/engine/training.py", line 153, in _standardize_input_data
str(array.shape))
ValueError: Error when checking target: expected regression to have shape (None, None, 4) but got array with shape (1, 67995, 5)
Thanks a lot for a few recent fixes, now training is underway.
During training, it would stop on random itreation (it may continue for hundreds of images, then encounter the error ):
" labels, regression_targets = anchor_targets(image, boxes_batch[0],len(self.classes))
File "/home/ai/krn/keras_retinanet/preprocessing/anchors.py", line 29, in anchor_targets
argmax_overlaps_inds = np.argmax(overlaps, axis=1)
File "/home/tf/local/lib/python2.7/site-packages/numpy/core/fromnumeric.py", line 963, in argmax
return _wrapfunc(a, 'argmax', axis=axis, out=out)
File "/home/tf/local/lib/python2.7/site-packages/numpy/core/fromnumeric.py", line 57, in _wrapfunc
return getattr(obj, method)(*args, **kwds)
ValueError: attempt to get argmax of an empty sequence".
Seems to be some type of batch data generation issue somewhere.
Hi,
I am trying to test your code on my system using the instructions given under "Generate RetinaNet model" at https://github.com/fizyr/keras-retinanet/blob/master/examples/ResNet50RetinaNet%20-%20COCO%202017.ipynb
But, I am getting following error during the call of keras.layers.Reshape function from retinanet.py->default_regression_model
I am attaching the traceback. Could you please help me in fixing the issue.
Code:
image = keras.layers.Input((None, None, 3))
model = keras_retinanet.models.ResNet50RetinaNet(image, num_classes=90, weights='imagenet')
model.compile(
loss={
'regression' : keras_retinanet.losses.smooth_l1(),
'classification': keras_retinanet.losses.focal()
},
optimizer=keras.optimizers.adam(lr=1e-5, clipnorm=0.001)
)
#print(model.summary())
Traceback (most recent call last):
File "", line 2, in
model = keras_retinanet.models.ResNet50RetinaNet(image, num_classes=90, weights='imagenet')
File "E:\PythonCode\spyderprojects\keras-retinanet-master\keras-retinanet-master\keras_retinanet\models\resnet.py", line 38, in ResNet50RetinaNet
model = keras_retinanet.models.retinanet_bbox(inputs=inputs, backbone=resnet, *args, **kwargs)
File "E:\PythonCode\spyderprojects\keras-retinanet-master\keras-retinanet-master\keras_retinanet\models\retinanet.py", line 193, in retinanet_bbox
model = retinanet(inputs=inputs, num_classes=num_classes, *args, **kwargs)
File "E:\PythonCode\spyderprojects\keras-retinanet-master\keras-retinanet-master\keras_retinanet\models\retinanet.py", line 175, in retinanet
submodels = default_submodels(num_classes, anchor_parameters)
File "E:\PythonCode\spyderprojects\keras-retinanet-master\keras-retinanet-master\keras_retinanet\models\retinanet.py", line 139, in default_submodels
default_regression_model(anchor_parameters.num_anchors()),
File "E:\PythonCode\spyderprojects\keras-retinanet-master\keras-retinanet-master\keras_retinanet\models\retinanet.py", line 87, in default_regression_model
outputs = keras.layers.Reshape((-1, 4), name='pyramid_regression_reshape')(outputs)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\keras\engine\topology.py", line 596, in call
output = self.call(inputs, **kwargs)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\keras\layers\core.py", line 391, in call
target_shape = self.compute_output_shape(input_shape)[1:]
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\keras\layers\core.py", line 376, in compute_output_shape
input_shape[1:], self.target_shape)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\keras\layers\core.py", line 364, in _fix_unknown_dimension
original = np.prod(input_shape, dtype=int)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\numpy\core\fromnumeric.py", line 2492, in prod
out=out, keepdims=keepdims)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\numpy\core_methods.py", line 35, in _prod
return umr_prod(a, axis, dtype, out, keepdims)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Hi! I am trying to train retinanet on Pascal VOC dataset, but getting a ValueError:
Traceback (most recent call last):
File "examples/train_pascal.py", line 111, in <module>
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "C:\Users\Abdurasul\Anaconda3\envs\ML\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "C:\Users\Abdurasul\Anaconda3\envs\ML\lib\site-packages\keras\engine\training.py", line 2114, in fit_generator
class_weight=class_weight)
File "C:\Users\Abdurasul\Anaconda3\envs\ML\lib\site-packages\keras\engine\training.py", line 1826, in train_on_batch
check_batch_axis=True)
File "C:\Users\Abdurasul\Anaconda3\envs\ML\lib\site-packages\keras\engine\training.py", line 1411, in _standardize_user_data
exception_prefix='target')
File "C:\Users\Abdurasul\Anaconda3\envs\ML\lib\site-packages\keras\engine\training.py", line 153, in _standardize_input_data
str(array.shape))
ValueError: Error when checking target: expected regression to have shape (None, None, 4) but got array with shape (1, 90360, 5)
Considering
model.compile(
loss={
'regression' : keras_retinanet.losses.smooth_l1(),
'classification': keras_retinanet.losses.focal()
},
optimizer=keras.optimizers.adam(lr=1e-5, clipnorm=0.001)
)
I think the problem is in the implementation of smooth_l1 function, but I have no idea how to fix it. Can anyone help?
When trying to run this notebook, I get the following error while evaluating the cell that does the training:
Epoch 1/50
Exception in thread Thread-6:
Traceback (most recent call last):
File "/Users/sayandevmukherjee/anaconda/envs/py36-tensorflow/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/Users/sayandevmukherjee/anaconda/envs/py36-tensorflow/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/Users/sayandevmukherjee/anaconda/envs/py36-tensorflow/lib/python3.6/site-packages/keras/utils/data_utils.py", line 568, in data_generator_task
generator_output = next(self._generator)
File "/Users/sayandevmukherjee/anaconda/envs/py36-tensorflow/lib/python3.6/site-packages/keras/preprocessing/image.py", line 737, in next
return self.next(*args, **kwargs)
File "/Users/sayandevmukherjee/anaconda/envs/py36-tensorflow/lib/python3.6/site-packages/keras_retinanet-0.0.1-py3.6.egg/keras_retinanet/preprocessing/coco.py", line 131, in next
image_data = self.load_image(selection[0])
File "/Users/sayandevmukherjee/anaconda/envs/py36-tensorflow/lib/python3.6/site-packages/keras_retinanet-0.0.1-py3.6.egg/keras_retinanet/preprocessing/coco.py", line 67, in load_image
image, image_scale = resize_image(image, min_side=self.image_min_side, max_side=self.image_max_side)
File "/Users/sayandevmukherjee/anaconda/envs/py36-tensorflow/lib/python3.6/site-packages/keras_retinanet-0.0.1-py3.6.egg/keras_retinanet/preprocessing/image.py", line 47, in resize_image
(rows, cols, _) = img.shape
AttributeError: 'NoneType' object has no attribute 'shape'
StopIteration Traceback (most recent call last)
in ()
9 callbacks=[
10 keras.callbacks.ModelCheckpoint('resnet50_coco_best.h5', monitor='val_loss', verbose=1, save_best_only=True),
---> 11 keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=2, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
12 ],
13 )
~/anaconda/envs/py36-tensorflow/lib/python3.6/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
85 warnings.warn('Update your ' + object_name + 86 '
call to the Keras 2 API: ' + signature, stacklevel=2)
---> 87 return func(*args, **kwargs)
88 wrapper._original_function = func
89 return wrapper
~/anaconda/envs/py36-tensorflow/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)
2009 batch_index = 0
2010 while steps_done < steps_per_epoch:
-> 2011 generator_output = next(output_generator)
2012
2013 if not hasattr(generator_output, 'len'):
StopIteration:
Am I missing something obvious? I did download the COCO train2017 and val2017 images and annotations.
Thanks for any help!
when applying deconvolution for 9x15x256, output is 18x30x256, which is unmatched with 17x30x256 when operarion of adding is performed.
How to figure out this issue?
Thank you very much.
Hello,
I tried to run examples/train_coco.py but it fails with the following error:
Traceback (most recent call last):
File "examples/train_coco.py", line 88, in
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=2, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.3-py2.7.egg/keras/legacy/interfaces.py", line 88, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.3-py2.7.egg/keras/engine/training.py", line 1885, in fit_generator
class_weight=class_weight)
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.3-py2.7.egg/keras/engine/training.py", line 1628, in train_on_batch
outputs = self.train_function(ins)
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.3-py2.7.egg/keras/backend/tensorflow_backend.py", line 2131, in call
feed_dict=feed_dict)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 895, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1124, in _run
feed_dict_tensor, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1321, in _do_run
options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1340, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: logits and labels must have the same first dimension, got logits shape [1,101956] and labels shape [9277996]
[[Node: SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits = SparseSoftmaxCrossEntropyWithLogits[T=DT_FLOAT, Tlabels=DT_INT64, _device="/job:localhost/replica:0/task:0/gpu:0"](Reshape_1, Cast_1)]]
[[Node: mul_4/_1687 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_40184_mul_4", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Caused by op u'SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits', defined at:
File "examples/train_coco.py", line 44, in
model.compile(loss={'predictions': keras_retinanet.losses.focal_loss()}, optimizer=keras.optimizers.adam(lr=1e-5, clipnorm=0.001))
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.3-py2.7.egg/keras/engine/training.py", line 905, in compile
sample_weight, mask)
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.3-py2.7.egg/keras/engine/training.py", line 436, in weighted
score_array = fn(y_true, y_pred)
File "/data/cnn/keras/keras-retinanet/keras_retinanet/losses.py", line 55, in _focal_loss
cls_loss = classification_loss(classification, labels)
File "/data/cnn/keras/keras-retinanet/keras_retinanet/losses.py", line 23, in classification_loss
cls_loss = focal_weight * keras.backend.sparse_categorical_crossentropy(labels, classification)
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.3-py2.7.egg/keras/backend/tensorflow_backend.py", line 2645, in sparse_categorical_crossentropy
logits=logits)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/nn_ops.py", line 1693, in sparse_softmax_cross_entropy_with_logits
precise_logits, labels, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_nn_ops.py", line 2491, in _sparse_softmax_cross_entropy_with_logits
features=features, labels=labels, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1204, in init
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): logits and labels must have the same first dimension, got logits shape [1,101956] and labels shape [9277996]
[[Node: SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits = SparseSoftmaxCrossEntropyWithLogits[T=DT_FLOAT, Tlabels=DT_INT64, _device="/job:localhost/replica:0/task:0/gpu:0"](Reshape_1, Cast_1)]]
[[Node: mul_4/_1687 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_40184_mul_4", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Apparently with logits shape [1,101956] and labels shape [9277996] it is obvious that 101956*class_num = 9277996 where class_num=91 for mscoco, but I am stuck trying to identify the root cause for that. Some help please?
Have you ever tested on PASCAL VOC? If so, could you share the results?
particularly, im interested in merging some classes from COCO, widerface, and imagenet.
any tutorials you can point me to?
Bounding boxes are augmented in a rather expensive way right now for transforms other than flips. This can be improved.
I wonder whether this github project can be changed to a classification model. For example, I separate the regression module. Can it be ok?
I modify file 'pascal_voc.py' and 'train_pascal.py' and trian my model.But I got the following error:
Epoch 1/50
999/1000 [============================>.] - ETA: 0s - loss: 1.4074 - regression_loss: 0.3482 - classification_loss: 1.0593Epoch 00001: val_loss improved from inf to 1.04777, saving model to snapshots/resnet50_voc_best.h5
Traceback (most recent call last):
File "train_pascal.py", line 106, in
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/keras/engine/training.py", line 2117, in fit_generator
callbacks.on_epoch_end(epoch, epoch_logs)
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/keras/callbacks.py", line 73, in on_epoch_end
callback.on_epoch_end(epoch, logs)
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/keras/callbacks.py", line 414, in on_epoch_end
self.model.save(filepath, overwrite=True)
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/keras/engine/topology.py", line 2556, in save
save_model(self, filepath, overwrite, include_optimizer)
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/keras/models.py", line 102, in save_model
with h5py.File(filepath, mode='w') as f:
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/h5py/_hl/files.py", line 271, in init
fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr)
File "/home/wanghan/miniconda2/envs/tensorflow/lib/python2.7/site-packages/h5py/_hl/files.py", line 107, in make_fid
fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/_objects.c:2846)
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/_objects.c:2804)
File "h5py/h5f.pyx", line 98, in h5py.h5f.create (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/h5f.c:2290)
IOError: Unable to create file (Unable to open file: name = 'snapshots/resnet50_voc_best.h5', errno = 2, error message = 'no such file or directory', flags = 13, o_flags = 242)
but i don't understand what cause the problem.
can anyone help me?thank you.
I got an error below when I run python2 examples/train_pascal.py ~/2TB/src/VOC/VOCdevkit/VOC2007
Epoch 1/50
Traceback (most recent call last):
File "examples/train_pascal.py", line 86, in
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.8-py2.7.egg/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.8-py2.7.egg/keras/engine/training.py", line 2016, in fit_generator
generator_output = next(output_generator)
File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.8-py2.7.egg/keras/utils/data_utils.py", line 517, in get
raise StopIteration(e)
StopIteration: 'PascalVocIterator' object has no attribute '_get_batches_of_transformed_samples'
Any idea? My Keras is the latest code from github.
Thanks
Hi again,
Im getting the following error:
(most recent call last):
File "examples/train_pascal.py", line 106, in
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 2046, in fit_generator
generator_output = next(output_generator)
File "/usr/local/lib/python2.7/dist-packages/keras/utils/data_utils.py", line 518, in get
raise StopIteration(e)
StopIteration: attempt to get argmax of an empty sequence
From here it seems as if its a problem of no significant overlap? I checked the image and there should be eleven bboxes in there, covering almost all the space, so Im not sure if that's really the error here.
Any ideas?
I will remove the image for now and continue training, to check if its just the image...
Is this implementation complete and working?
I get this error when I try to run train.py:
Using TensorFlow backend.
Traceback (most recent call last):
File "train.py", line 21, in <module>
model = create_model()
File "train.py", line 17, in create_model
return ResNet50RetinaNet([image, im_info, gt_boxes])
File "build/bdist.linux-x86_64/egg/keras_retinanet/models/resnet.py", line 128, in ResNet50RetinaNet
File "build/bdist.linux-x86_64/egg/keras_retinanet/models/resnet.py", line 74, in RetinaNet
ValueError: need more than 1 value to unpack
I run setup.py install, which installed keras-resnet 0.0.7 from https://pypi.python.org/simple/keras-resnet/
I did a git pull of the latest code today and tried to train on mscoco. The new pyramid layers apparently have some issue though :( Please take a look at the following log:
Total memory: 10.91GiB
Free memory: 9.84GiB
2017-11-07 11:04:29.832092: I tensorflow/core/common_runtime/gpu/gpu_device.cc:976] DMA: 0
2017-11-07 11:04:29.832105: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 0: Y
2017-11-07 11:04:29.832119: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0)
Creating model, this may take a second...
Traceback (most recent call last):
File "examples/train_coco.py", line 60, in
model = create_model(weights=args.weights)
File "examples/train_coco.py", line 38, in create_model
return ResNet50RetinaNet(image, num_classes=90, weights=weights)
File "/data/cnn/keras/keras-retinanet/keras_retinanet/models/resnet.py", line 38, in ResNet50RetinaNet
model = keras_retinanet.models.retinanet_bbox(inputs=inputs, backbone=resnet, *args, **kwargs)
File "/data/cnn/keras/keras-retinanet/keras_retinanet/models/retinanet.py", line 193, in retinanet_bbox
model = retinanet(inputs=inputs, num_classes=num_classes, *args, **kwargs)
File "/data/cnn/keras/keras-retinanet/keras_retinanet/models/retinanet.py", line 175, in retinanet
submodels = default_submodels(num_classes, anchor_parameters)
File "/data/cnn/keras/keras-retinanet/keras_retinanet/models/retinanet.py", line 139, in default_submodels
default_regression_model(anchor_parameters.num_anchors()),
File "/data/cnn/keras/keras-retinanet/keras_retinanet/models/retinanet.py", line 87, in default_regression_model
outputs = keras.layers.Reshape((-1, 4), name='pyramid_regression_reshape')(outputs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 602, in call
output = self.call(inputs, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/layers/core.py", line 391, in call
target_shape = self.compute_output_shape(input_shape)[1:]
File "/usr/local/lib/python2.7/dist-packages/keras/layers/core.py", line 376, in compute_output_shape
input_shape[1:], self.target_shape)
File "/usr/local/lib/python2.7/dist-packages/keras/layers/core.py", line 364, in _fix_unknown_dimension
original = np.prod(input_shape, dtype=int)
File "/usr/local/lib/python2.7/dist-packages/numpy/core/fromnumeric.py", line 2498, in prod
out=out, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/numpy/core/_methods.py", line 35, in _prod
return umr_prod(a, axis, dtype, out, keepdims)
TypeError: long() argument must be a string or a number, not 'NoneType'
Hi love the package! I'm trying to work through a few things with train_csv.py
.
The first issue is that there seems to be a syntax error on line 114:
validation_steps=test_generator.size() // args.batch_size if test_generator else: 0,
The second thing is that this line from keras_retinanet.models import ResNet50RetinaNet
is throwing an error.
I'm kinda new with this but if you give me some pointers I can try and help!. Anywho really look forward to trying it out with the CSV files! Thanks again!!!
Hey guys, I followed the installation instructions. How can I check if I really do have the master version of keras-resnet?
installation worked fine but when I want to train I get an error:
TypeError: init() got an unexpected keyword argument 'freeze_bn'
cant see what I did wrong. Thanks for your help.
versions:
python 2.7.6
keras 2.0.9
I got the typeerror at model = keras.models.load_model('../snapshots/resnet50_coco_best_v1.0.0.h5',
custom_objects=custom_objects), can anyone give me some advice?
Hi,
Got ImportError when trying to import keras_retinanet:
Code:
%matplotlib inline
%load_ext autoreload
%autoreload 2
#import keras
import keras_retinanet
import matplotlib.pyplot as plt
import cv2
import os
import numpy as np
import time
import tensorflow as tf
def get_session():
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
return tf.Session(config=config)
keras.backend.tensorflow_backend.set_session(get_session())
Error:
ImportError Traceback (most recent call last)
in ()
5
6 #import keras
----> 7 import keras_retinanet
8
9
build/bdist.linux-x86_64/egg/keras_retinanet/init.py in ()
----> 1 from . import backend
2 from . import initializers
3 from . import layers
4 from . import losses
5 from . import models
ImportError: cannot import name backend
Who knows what's the problem?
None
Epoch 1/20
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/utils/data_utils.py", line 579, in data_generator_task
generator_output = next(self._generator)
File "/usr/local/lib/python2.7/dist-packages/keras_retinanet/preprocessing/generator.py", line 130, in next
self.group_index = (self.group_index + 1) % len(self.groups)
AttributeError: 'CSVGenerator' object has no attribute 'groups'
Traceback (most recent call last):
File "train_csv.py", line 106, in <module>
keras.callbacks.ReduceLROnPlateau(monitor='loss', factor=0.1, patience=2, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 2046, in fit_generator
generator_output = next(output_generator)
StopIteration
ValueError Traceback (most recent call last)
in ()
----> 1 image_batch, outputs = next(test_generator)
2 image = image_batch[0, ...].copy()
3 image -= min(image.flatten())
4 image /= max(image.flatten())
5 image *= 255
/home/wh/.local/lib/python2.7/site-packages/keras_retinanet/preprocessing/coco.pyc in next(self)
138 # lock indexing to prevent race conditions
139 with self.lock:
--> 140 selection, _, batch_size = next(self.index_generator)
141
142 assert(batch_size == 1), "Currently only batch_size=1 is allowed."
ValueError: need more than 1 value to unpack
Pulled latest codes, saw following error during training (ubuntu 16.04/keras2.0.8/tensorflow 1.2):
"File "/home/ai/krn/keras_retinanet/preprocessing/pascal_voc.py", line 149, in load_image
regression_targets = np.append(regression_targets, np.expand_dims(labels, axis=1), axis=1)
File "/home/dsu/tf/local/lib/python2.7/site-packages/numpy/lib/function_base.py", line 5152, in append
return concatenate((arr, values), axis=axis)
ValueError: all the input arrays must have same number of dimensions".
Earlier, saw error: "
File "/home/ai/krn/keras_retinanet/preprocessing/pascal_voc.py", line 148, in load_image
labels, regression_targets = anchor_targets(image, boxes_batch[0])
TypeError: anchor_targets() takes at least 3 arguments (2 given)", which was resolved by adding 3rd-parameter len(self.classes).
I'm trying to get the coco and dataset to be read by the sample program. I got the pascal one working ok!
When I train the coco one I get an error saying "AttributeError: 'NoneType' object has no attribute 'astype'"
which I think is caused by it reading something weird.
I think I'm having trouble with getting the right file structure to work. For coco2017 how should the annotations, test2017, train2017, val2017 folders be laid out?
pip install keras_resnet
keras_retinanet/models/resnet.py
resnet = keras_resnet.models.ResNet50(image, include_top=False, freeze_bn=True)
error
init() got an unexpected keyword argument 'freeze_bn'
The evaluation part in the example isn't correct as of the current codebase. This part:
boxes, classification, reg_loss, cls_loss = model.predict_on_batch(inputs)
predicted_labels = np.argmax(classification[0, ...], axis=1)
scores = np.max(classification[0, ...], axis=1)
for idx, (label, score) in enumerate(zip(predicted_labels, scores)):
b = boxes[0, idx, :].astype(int)
cv2.rectangle(im, (b[0], b[1]), (b[2], b[3]), (0, 255, 0), 3)
should be more like this now:
regression, boxes = model.predict_on_batch(inputs)
for idx in range(0,boxes.shape[1]):
label = np.argmax(boxes[0, idx,4:], axis=0)
score = np.max(boxes[0, idx,4:], axis=0)
Hi all,
I'm trying to train network on my own data and got that error, could anybody help me with this issue?
Epoch 1/50 Traceback (most recent call last): File "examples/train_pascal.py", line 109, in <module> keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0), File "C:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\keras\legacy\interfaces.py", line 87, in wrapper return func(*args, **kwargs) File "C:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 2114, in fit_generator class_weight=class_weight) File "C:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 1826, in train_on_batch check_batch_axis=True) File "C:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 1411, in _standardize_user_data exception_prefix='target') File "C:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 153, in _standardize_input_data str(array.shape)) ValueError: Error when checking target: expected regression to have shape (None, None, 4) but got array with shape (1, 110520, 5)
Thank you for support :)
Hello. I update keras to 2.0.9. and i update the latest project.
when i run 'example/train_coco.py' to train on coco dataset. i got this error.
loading annotations into memory...
Done (t=12.14s)
creating index...
index created!
loading annotations into memory...
Done (t=0.38s)
creating index...
index created!
Epoch 1/20
Traceback (most recent call last):
File "examples/train_coco.py", line 106, in
keras.callbacks.ReduceLROnPlateau(monitor='loss', factor=0.1, patience=2, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/home/wh/.local/lib/python2.7/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/home/wh/.local/lib/python2.7/site-packages/keras/engine/training.py", line 2046, in fit_generator
generator_output = next(output_generator)
File "/home/wh/.local/lib/python2.7/site-packages/keras/utils/data_utils.py", line 518, in get
raise StopIteration(e)
StopIteration: 'NoneType' object has no attribute 'shape'
what is wrong with it?
pulled latest codes and got following simple import error during training (env: keras 2.0.8/tensorflow 1.2)
"Traceback (most recent call last):
File "examples/itrain.py", line 23, in
from keras_retinanet.models import ResNet50RetinaNet
File "/home/dsu/ai/krn/keras_retinanet/init.py", line 5, in
from . import models
File "/home/dsu/ai/krn/keras_retinanet/models/init.py", line 3, in
from .resnet import ResNet50RetinaNet
File "/home/dsu/ai/krn/keras_retinanet/models/resnet.py", line 18, in
import keras_resnet.models
ImportError: No module named keras_resnet.models"
cannot find keras_resnet in keras-retinanet or keras.
Thanks.
Hi again,
I want to train on VOCpascal and get this error message. From an earlier, similar issue, it had something to do with OpenCV, but this one seems different.
Sharing experiences or ideas will be highly appreciated !!
.
.
Total params: 36,213,592
Trainable params: 36,107,352
Non-trainable params: 106,240
None
Epoch 1/50
Traceback (most recent call last):
File "examples/train_pascal.py", line 105, in
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 2046, in fit_generator
generator_output = next(output_generator)
File "/usr/local/lib/python2.7/dist-packages/keras/utils/data_utils.py", line 518, in get
raise StopIteration(e)
StopIteration: points is not a numpy array, neither a scalar
Line 89 in /keras_retinanet/preprocessing/pascal_voc.py,
seed = np.uint32(time.time() * 1000)
This line always raise OverflowError in Windows but linux don't.
Can you share pretrained models?
I like to check performance between retinanet and SSD.
Thanks,
Traceback (most recent call last):
File "examples/train_coco.py", line 27, in
from keras_retinanet.models.resnet import ResNet50RetinaNet
File "/home/akh/.local/lib/python3.5/site-packages/keras_retinanet/models/resnet.py", line 25, in
custom_objects.update(keras_resnet.custom_objects)
AttributeError: module 'keras_resnet' has no attribute 'custom_objects'
I'm using keras version 2.0.9 and keras-resnet version 0.0.8.
Hi
I got this error when running the line #2 of the Jupyter notebook: ResNet50RetinaNet - Pascal VOC:
TypeError Traceback (most recent call last)
in ()
1 image_input = keras.layers.Input((None, None, 3))
----> 2 model = keras_retinanet.models.ResNet50RetinaNet(image_input, num_classes=20, weights='imagenet')
3
4 # compile model
5 model.compile(
/usr/local/lib/python2.7/dist-packages/keras_retinanet/models/resnet.pyc in ResNet50RetinaNet(inputs, weights, *args, **kwargs)
34 weights_path = weights
35
---> 36 resnet = keras_resnet.models.ResNet50(image, include_top=False, freeze_bn=True)
37
38 model = keras_retinanet.models.retinanet_bbox(inputs=inputs, backbone=resnet, *args, **kwargs)
/usr/local/lib/python2.7/dist-packages/keras_resnet/models/_2d.pyc in ResNet50(inputs, blocks, include_top, classes, *args, **kwargs)
176 blocks = [3, 4, 6, 3]
177
--> 178 return ResNet(inputs, blocks, block=keras_resnet.blocks.bottleneck_2d, include_top=include_top, classes=classes, *args, **kwargs)
179
180
/usr/local/lib/python2.7/dist-packages/keras_resnet/models/_2d.pyc in ResNet(inputs, blocks, block, include_top, classes, *args, **kwargs)
80 else:
81 # Else output each stages features
---> 82 return keras.models.Model(inputs=inputs, outputs=outputs, *args, **kwargs)
83
84
/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.pyc in wrapper(*args, **kwargs)
85 warnings.warn('Update your ' + object_name + 86 '
call to the Keras 2 API: ' + signature, stacklevel=2)
---> 87 return func(*args, **kwargs)
88 wrapper._original_function = func
89 return wrapper
TypeError: init() got an unexpected keyword argument 'freeze_bn'
model = keras.models.load_model('snapshots_voc/resnet50_voc_best.h5', keras_retinanet.custom_objects)
error as follows:
#####################################
TypeError Traceback (most recent call last)
in ()
1
----> 2 model = keras.models.load_model('snapshots_voc/resnet50_voc_best.h5', keras_retinanet.custom_objects)
3
4 #model = keras_retinanet.models.ResNet50RetinaNet(image_input, num_classes=21, weights='imagenet')
5
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras/models.pyc in load_model(filepath, custom_objects, compile)
237 raise ValueError('No model found in config file.')
238 model_config = json.loads(model_config.decode('utf-8'))
--> 239 model = model_from_config(model_config, custom_objects=custom_objects)
240
241 # set weights
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras/models.pyc in model_from_config(config, custom_objects)
311 'Maybe you meant to use '
312 'Sequential.from_config(config)
?')
--> 313 return layer_module.deserialize(config, custom_objects=custom_objects)
314
315
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras/layers/init.pyc in deserialize(config, custom_objects)
52 module_objects=globs,
53 custom_objects=custom_objects,
---> 54 printable_module_name='layer')
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras/utils/generic_utils.pyc in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
137 return cls.from_config(config['config'],
138 custom_objects=dict(list(_GLOBAL_CUSTOM_OBJECTS.items()) +
--> 139 list(custom_objects.items())))
140 with CustomObjectScope(custom_objects):
141 return cls.from_config(config['config'])
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras/engine/topology.pyc in from_config(cls, config, custom_objects)
2495 if layer in unprocessed_nodes:
2496 for node_data in unprocessed_nodes.pop(layer):
-> 2497 process_node(layer, node_data)
2498
2499 name = config.get('name')
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras/engine/topology.pyc in process_node(layer, node_data)
2452 if input_tensors:
2453 if len(input_tensors) == 1:
-> 2454 layer(input_tensors[0], **kwargs)
2455 else:
2456 layer(input_tensors, **kwargs)
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras/engine/topology.pyc in call(self, inputs, **kwargs)
600
601 # Actually call the layer, collecting output(s), mask(s), and shape(s).
--> 602 output = self.call(inputs, **kwargs)
603 output_mask = self.compute_mask(inputs, previous_mask)
604
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras_retinanet-0.0.1-py2.7.egg/keras_retinanet/layers/_misc.pyc in call(self, inputs, **kwargs)
19
20 # generate proposals from bbox deltas and shifted anchors
---> 21 anchors = keras_retinanet.backend.anchors(base_size=self.anchor_size, ratios=self.anchor_ratios, scales=self.anchor_scales)
22 anchors = keras_retinanet.backend.shift(features_shape, self.anchor_stride, anchors)
23 anchors = keras.backend.expand_dims(anchors, axis=0)
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras_retinanet-0.0.1-py2.7.egg/keras_retinanet/backend/common.pyc in anchors(base_size, ratios, scales)
71 base_anchor = keras.backend.expand_dims(base_anchor, 0)
72
---> 73 ratio_anchors = _ratio_enum(base_anchor, ratios)
74 anchors = _scale_enum(ratio_anchors, scales)
75
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/keras_retinanet-0.0.1-py2.7.egg/keras_retinanet/backend/common.pyc in _ratio_enum(anchor, ratios)
98 w, h, x_ctr, y_ctr = _whctrs(anchor)
99 size = w * h
--> 100 size_ratios = size / ratios
101 ws = keras.backend.round(keras.backend.sqrt(size_ratios))
102 hs = keras.backend.round(ws * ratios)
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/math_ops.pyc in binary_op_wrapper(x, y)
854 if not isinstance(y, sparse_tensor.SparseTensor):
855 try:
--> 856 y = ops.convert_to_tensor(y, dtype=x.dtype.base_dtype, name="y")
857 except TypeError:
858 # If the RHS is not a tensor, it might be a tensor aware object
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.pyc in convert_to_tensor(value, dtype, name, preferred_dtype)
609 name=name,
610 preferred_dtype=preferred_dtype,
--> 611 as_ref=False)
612
613
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.pyc in internal_convert_to_tensor(value, dtype, name, as_ref, preferred_dtype)
674
675 if ret is None:
--> 676 ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
677
678 if ret is NotImplemented:
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/constant_op.pyc in _constant_tensor_conversion_function(v, dtype, name, as_ref)
119 as_ref=False):
120 _ = as_ref
--> 121 return constant(v, dtype=dtype, name=name)
122
123
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/constant_op.pyc in constant(value, dtype, shape, name, verify_shape)
100 tensor_value = attr_value_pb2.AttrValue()
101 tensor_value.tensor.CopyFrom(
--> 102 tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape, verify_shape=verify_shape))
103 dtype_value = attr_value_pb2.AttrValue(type=tensor_value.tensor.dtype)
104 const_tensor = g.create_op(
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.pyc in make_tensor_proto(values, dtype, shape, verify_shape)
374 nparray = np.empty(shape, dtype=np_dt)
375 else:
--> 376 _AssertCompatible(values, dtype)
377 nparray = np.array(values, dtype=np_dt)
378 # check to them.
/home/q/seven.wang/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.pyc in _AssertCompatible(values, dtype)
300 else:
301 raise TypeError("Expected %s, got %s of type '%s' instead." %
--> 302 (dtype.name, repr(mismatch), type(mismatch).name))
303
304
TypeError: Expected float32, got {u'type': u'ndarray', u'value': [0.5, 1.0, 2.0]} of type 'dict' instead.
#####################################
The problem occur like that:
None
Epoch 1/50
Traceback (most recent call last):
File "examples/train_pascal.py", line 105, in <module>
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=1, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0),
File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 2046, in fit_generator
generator_output = next(output_generator)
File "/usr/local/lib/python2.7/dist-packages/keras/utils/data_utils.py", line 518, in get
raise StopIteration(e)
StopIteration
It seems that fit_generator has problem. More detailedly, it may be "PascalVocIterator" problem.
I do not know whether it is the version or the code problem?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.