提交 392d737a 编写于 作者: G Guo Sheng 提交者: guosheng

Merge pull request #16898 from Superjomn/fix/logical_op_infershape

fix logical op infershape
上级 21ea5425
...@@ -71,8 +71,16 @@ class BinaryLogicalOpInferShape : public framework::InferShapeBase { ...@@ -71,8 +71,16 @@ class BinaryLogicalOpInferShape : public framework::InferShapeBase {
"Input(Y) of %s operator must not be null", comment.type); "Input(Y) of %s operator must not be null", comment.type);
auto dim_x = context->GetInputDim("X"); auto dim_x = context->GetInputDim("X");
auto dim_y = context->GetInputDim("Y"); auto dim_y = context->GetInputDim("Y");
PADDLE_ENFORCE_EQ(framework::product(dim_x), framework::product(dim_y),
"The number of elements in X and Y should be same"); int product_x = framework::product(dim_x);
int product_y = framework::product(dim_y);
bool check = context->IsRuntime() || (product_x >= 0 && product_y >= 0);
if (check) {
PADDLE_ENFORCE_EQ(
product_x, product_y,
"The number of elements in X and Y should be same, %d != %d",
product_x, product_y);
}
context->SetOutputDim("Out", context->GetInputDim("X")); context->SetOutputDim("Out", context->GetInputDim("X"));
context->ShareLoD("X", "Out"); context->ShareLoD("X", "Out");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册