diff --git a/paddle/fluid/operators/detection/yolo_box_op.cc b/paddle/fluid/operators/detection/yolo_box_op.cc index 48b0d511d902c..511d8e0eed106 100644 --- a/paddle/fluid/operators/detection/yolo_box_op.cc +++ b/paddle/fluid/operators/detection/yolo_box_op.cc @@ -102,7 +102,12 @@ class YoloBoxOp : public framework::OperatorWithKernel { "But received class_num (%s)", class_num)); - int box_num = dim_x[2] * dim_x[3] * anchor_num; + int box_num; + if ((dim_x[2] > 0 && dim_x[3] > 0) || ctx->IsRuntime()) { + box_num = dim_x[2] * dim_x[3] * anchor_num; + } else { + box_num = -1; + } std::vector dim_boxes({dim_x[0], box_num, 4}); ctx->SetOutputDim("Boxes", phi::make_ddim(dim_boxes));