提交 cdb81264 编写于 作者: T Tao Luo 提交者: Chen Weihang

fix error message in expand API, and fix two error unit-tests (#21180)

test=release/1.6
上级 74ca3ae8
...@@ -12985,8 +12985,8 @@ def expand(x, expand_times, name=None): ...@@ -12985,8 +12985,8 @@ def expand(x, expand_times, name=None):
""" """
if not isinstance(x, Variable): if not isinstance(x, Variable):
raise TypeError( raise TypeError(
"The type of 'input' in reduce_sum must be Variable, but received %s" "The type of 'input' in expand must be Variable, but received %s" %
% (type(x))) (type(x)))
if not isinstance(expand_times, (list, tuple, Variable)): if not isinstance(expand_times, (list, tuple, Variable)):
raise ValueError( raise ValueError(
"Input expand_times must be an Variable, python list or tuple.") "Input expand_times must be an Variable, python list or tuple.")
......
...@@ -64,13 +64,13 @@ class TestAccuracyOpError(OpTest): ...@@ -64,13 +64,13 @@ class TestAccuracyOpError(OpTest):
# The input type of accuracy_op must be Variable. # The input type of accuracy_op must be Variable.
x1 = fluid.create_lod_tensor( x1 = fluid.create_lod_tensor(
np.array([[-1]]), [[1]], fluid.CPUPlace()) np.array([[-1]]), [[1]], fluid.CPUPlace())
self.assertRaises(TypeError, fluid.layers.accuracy, x1) label = fluid.layers.data(
name='label', shape=[-1, 1], dtype="int32")
self.assertRaises(TypeError, fluid.layers.accuracy, x1, label)
# The input dtype of accuracy_op must be float32 or float64. # The input dtype of accuracy_op must be float32 or float64.
x2 = fluid.layers.data(name='x2', shape=[4], dtype="int32") x2 = fluid.layers.data(name='x2', shape=[4], dtype="int32")
self.assertRaises(TypeError, fluid.layers.accuracy, x2) self.assertRaises(TypeError, fluid.layers.accuracy, x2, label)
x3 = fluid.layers.data(name='input', shape=[-1, 2], dtype="float16") x3 = fluid.layers.data(name='input', shape=[-1, 2], dtype="float16")
label = fluid.layers.data(
name='label', shape=[-1, 1], dtype="int32")
fluid.layers.accuracy(input=x3, label=label) fluid.layers.accuracy(input=x3, label=label)
......
...@@ -28,10 +28,9 @@ class TestZerosOpError(OpTest): ...@@ -28,10 +28,9 @@ class TestZerosOpError(OpTest):
def test_errors(self): def test_errors(self):
with program_guard(Program(), Program()): with program_guard(Program(), Program()):
# The input dtype of zeros_op must be bool, float16, float32, float64, int32, int64. # The input dtype of zeros_op must be bool, float16, float32, float64, int32, int64.
x1 = fluid.layers.data(name='x1', shape=[4], dtype="int8") shape = [4]
self.assertRaises(TypeError, fluid.layers.zeros, x1) dtype = "int8"
x2 = fluid.layers.data(name='x2', shape=[4], dtype="uint8") self.assertRaises(TypeError, fluid.layers.zeros, shape, dtype)
self.assertRaises(TypeError, fluid.layers.zeros, x2)
if __name__ == "__main__": if __name__ == "__main__":
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册