fix dispatching for several keras backend methods. (The convert_to_tensor at the start will lead to a typeerror & trigger dispatching if necessary)
PiperOrigin-RevId: 313607546
Change-Id: Ibcc28ce6d4d9f43b625fc204ff5670a48511fcaa
diff --git a/tensorflow/python/keras/backend.py b/tensorflow/python/keras/backend.py
index d0c3eb0..c8f2942 100644
--- a/tensorflow/python/keras/backend.py
+++ b/tensorflow/python/keras/backend.py
@@ -4578,6 +4578,9 @@
[0. 0. 0.]
"""
+ target = ops.convert_to_tensor_v2(target)
+ output = ops.convert_to_tensor_v2(output)
+
target.shape.assert_is_compatible_with(output.shape)
if from_logits:
return nn.softmax_cross_entropy_with_logits_v2(
@@ -4625,6 +4628,9 @@
Raises:
ValueError: if `axis` is neither -1 nor one of the axes of `output`.
"""
+ target = ops.convert_to_tensor_v2(target)
+ output = ops.convert_to_tensor_v2(output)
+
if not from_logits and not isinstance(
output, (ops.EagerTensor, variables_module.Variable)):
output = _backtrack_identity(output)
@@ -4700,6 +4706,9 @@
Returns:
A tensor.
"""
+ target = ops.convert_to_tensor_v2(target)
+ output = ops.convert_to_tensor_v2(output)
+
if from_logits:
return nn.sigmoid_cross_entropy_with_logits(labels=target, logits=output)