broadinstitute / keras-rcnn

Keras package for region-based convolutional neural networks (RCNNs)
Other
555 stars 222 forks source link

TypeError when computing RPN loss #95

Closed jhung0 closed 7 years ago

jhung0 commented 7 years ago

Starting from 0e28c4c1f89023e880fcba8c6625a1ae14867529 , there's a type error in the rpn loss.

TypeError Traceback (most recent call last)

in () 7 8 deltas = keras_rcnn.layers.losses.RPNRegressionLoss(9)([deltas, bounding_box_targets, rpn_labels]) ----> 9 scores = keras_rcnn.layers.losses.RPNClassificationLoss(9)([scores, rpn_labels]) /usr/local/lib/python3.6/site-packages/keras/engine/topology.py in __call__(self, inputs, **kwargs) 594 595 # Actually call the layer, collecting output(s), mask(s), and shape(s). --> 596 output = self.call(inputs, **kwargs) 597 output_mask = self.compute_mask(inputs, previous_mask) 598 ~/Documents/com/github/keras-rcnn/keras_rcnn/layers/losses/_rpn.py in call(self, inputs, **kwargs) 13 output, target = inputs 14 ---> 15 loss = self.compute_loss(output, target) 16 17 self.add_loss(loss, inputs) ~/Documents/com/github/keras-rcnn/keras_rcnn/layers/losses/_rpn.py in compute_loss(output, target) 30 target = keras_rcnn.backend.gather_nd(target, indices) 31 ---> 32 loss = keras.backend.sparse_categorical_crossentropy(target, output) 33 loss = keras.backend.mean(loss) 34 /usr/local/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py in sparse_categorical_crossentropy(output, target, from_logits) 2777 output_shape = output.get_shape() 2778 targets = cast(flatten(target), 'int64') -> 2779 logits = tf.reshape(output, [-1, int(output_shape[-1])]) 2780 res = tf.nn.sparse_softmax_cross_entropy_with_logits( 2781 labels=targets, TypeError: __int__ returned non-int (type NoneType)
jhung0 commented 7 years ago

Due to update in Keras https://github.com/fchollet/keras/commit/9164bf6184f26e40fdc561ed776181a9bb692e9d