diff --git a/tensorflow/python/kernel_tests/cwise_ops_test.py b/tensorflow/python/kernel_tests/cwise_ops_test.py index f762cec86682ed..6420ed435bd240 100644 --- a/tensorflow/python/kernel_tests/cwise_ops_test.py +++ b/tensorflow/python/kernel_tests/cwise_ops_test.py @@ -1228,6 +1228,12 @@ def testEmpty(self): tf_val = math_ops.polyval(coeffs, x) self.assertAllClose(np_val, self.evaluate(tf_val)) + def test_coeffs_raise(self): + x = np.random.rand(2, 2).astype(np.float32) + coeffs = {} + with self.assertRaisesRegexp(ValueError, "Argument coeffs must be list"): + math_ops.polyval(coeffs, x) + class SingularGradientOpTest(test.TestCase): diff --git a/tensorflow/python/ops/math_ops.py b/tensorflow/python/ops/math_ops.py index 464edeaf0211d1..f7c2fcd7eec770 100644 --- a/tensorflow/python/ops/math_ops.py +++ b/tensorflow/python/ops/math_ops.py @@ -4411,6 +4411,9 @@ def polyval(coeffs, x, name=None): Equivalent to numpy.polyval. @end_compatibility """ + if not isinstance(coeffs, list): + raise ValueError("Argument coeffs must be list type " + "found {}.".format(type(coeffs))) with ops.name_scope(name, "polyval", nest.flatten(coeffs) + [x]) as name: x = ops.convert_to_tensor(x, name="x")