From f0a40630bca42474ef258e1a9cc562e959da3d3a Mon Sep 17 00:00:00 2001 From: Jiaqi Liu Date: Mon, 24 Jan 2022 20:34:23 +0800 Subject: [PATCH] supports string var lod_level property (#39077) --- python/paddle/fluid/framework.py | 6 +++++- python/paddle/fluid/tests/unittests/test_variable.py | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/python/paddle/fluid/framework.py b/python/paddle/fluid/framework.py index 5ee7b04248e..84d3f5547fe 100644 --- a/python/paddle/fluid/framework.py +++ b/python/paddle/fluid/framework.py @@ -1763,7 +1763,10 @@ class Variable(object): Examples: .. code-block:: python + import paddle import paddle.fluid as fluid + + paddle.enable_static() cur_program = fluid.Program() cur_block = cur_program.current_block() new_variable = cur_block.create_var(name="X", @@ -1773,7 +1776,8 @@ class Variable(object): """ if self.type == core.VarDesc.VarType.SELECTED_ROWS: raise Exception("SelectedRows DO NOT supprt lod") - + if self.type == core.VarDesc.VarType.STRINGS: + return None return self.desc.lod_level() @property diff --git a/python/paddle/fluid/tests/unittests/test_variable.py b/python/paddle/fluid/tests/unittests/test_variable.py index 5ba54daa0d4..a3bfe3864a2 100644 --- a/python/paddle/fluid/tests/unittests/test_variable.py +++ b/python/paddle/fluid/tests/unittests/test_variable.py @@ -63,6 +63,12 @@ class TestVariable(unittest.TestCase): self.assertRaises(ValueError, lambda: b.create_var(name="fc.w", shape=(24, 100))) + w = b.create_var( + dtype=paddle.fluid.core.VarDesc.VarType.STRINGS, + shape=[1], + name="str_var") + self.assertEqual(None, w.lod_level) + def test_element_size(self): with fluid.program_guard(Program(), Program()): x = paddle.static.data(name='x1', shape=[2], dtype='bool') -- GitLab