diff --git a/python/paddle/fluid/variable_index.py b/python/paddle/fluid/variable_index.py index 83a569aacc91123c3ebb4b2bdbd7eb3d6cea0c9b..7d1bbf8162c2e795f3c37d1d950525c5e130e8e2 100644 --- a/python/paddle/fluid/variable_index.py +++ b/python/paddle/fluid/variable_index.py @@ -306,8 +306,9 @@ def get_value_for_bool_tensor(var, item): return paddle.empty(var_shape, dtype=var.dtype) from .layers.control_flow import cond - return cond(item.any(), lambda: idx_not_empty(var, item), - lambda: idx_empty(var)) + return cond( + paddle.logical_not(item.any()), lambda: idx_empty(var), + lambda: idx_not_empty(var, item)) def _getitem_impl_(var, item):