diff --git a/python/paddle/fluid/evaluator.py b/python/paddle/fluid/evaluator.py index 5a4c838f75bb45b3adedc9905f09c0b7ad0a68ed..80ac91575f633ecffbcfff7ad66111b01f86be46 100644 --- a/python/paddle/fluid/evaluator.py +++ b/python/paddle/fluid/evaluator.py @@ -263,7 +263,7 @@ class EditDistance(Evaluator): zero = layers.fill_constant(shape=[1], value=0.0, dtype='float32') compare_result = layers.equal(distances, zero) - compare_result_int = layers.cast(x=compare_result, dtype='int') + compare_result_int = layers.cast(x=compare_result, dtype='int64') seq_right_count = layers.reduce_sum(compare_result_int) instance_error_count = layers.elementwise_sub( x=seq_num, y=seq_right_count) diff --git a/python/paddle/fluid/tests/unittests/test_layers.py b/python/paddle/fluid/tests/unittests/test_layers.py index 4a5e6b1a78d8c527e61e03ba6eecdcf96fa67daf..cf3821b78fd0e20ec2f7ff39f9e8279f084c0f05 100644 --- a/python/paddle/fluid/tests/unittests/test_layers.py +++ b/python/paddle/fluid/tests/unittests/test_layers.py @@ -2345,6 +2345,15 @@ class TestBook(LayerTest): label_length=label_length) return (output) + def test_edit_distance(self): + with self.static_graph(): + predict = layers.data( + name='predict', shape=[-1, 1], dtype='int64', lod_level=1) + label = layers.data( + name='label', shape=[-1, 1], dtype='int64', lod_level=1) + evaluator = fluid.evaluator.EditDistance(predict, label) + return evaluator.metrics + if __name__ == '__main__': unittest.main()