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)
)
Traceback (most recent call last):
File "
model = keras_retinanet.models.ResNet50RetinaNet(image, num_classes=90, weights='imagenet')
File "E:\PythonCode\spyderprojects\keras-retinanet-master\keras-retinanet-master\keras_retinanet\modelsresnet.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\modelsretinanet.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\modelsretinanet.py", line 175, in retinanet
submodels = default_submodels(num_classes, anchor_parameters)
File "E:\PythonCode\spyderprojects\keras-retinanet-master\keras-retinanet-master\keras_retinanet\modelsretinanet.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\modelsretinanet.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\layerscore.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\layerscore.py", line 376, in compute_output_shape
input_shape[1:], self.target_shape)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\keras\layerscore.py", line 364, in _fix_unknown_dimension
original = np.prod(input_shape, dtype=int)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\numpycorefromnumeric.py", line 2492, in prod
out=out, keepdims=keepdims)
File "C:\Program Files\Anaconda3\envs\py35\lib\site-packages\numpycore_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'
Seems that you're running keras 2.0.8 or lower. Try updating to keras 2.0.9. Note: keras 2.0.10 was released a few hours ago, I haven't tested this properly yet.
Thanks @hgaiser , now it is working
Most helpful comment
Thanks @hgaiser , now it is working