diff --git a/paddle/fluid/operators/roi_align_op.cu b/paddle/fluid/operators/roi_align_op.cu index 943c5c81dc47a99f6e2489757b1b15a6ae41bde8..41e6040496c2dbbad0bbf54f5372cf417e4d293d 100644 --- a/paddle/fluid/operators/roi_align_op.cu +++ b/paddle/fluid/operators/roi_align_op.cu @@ -258,7 +258,11 @@ class GPUROIAlignOpKernel : public framework::OpKernel { roi_batch_id_list.Resize({rois_num}); auto cplace = platform::CPUPlace(); int* roi_batch_id_data = roi_batch_id_list.mutable_data(cplace); - auto rois_lod = rois->lod().back(); + auto lod = rois->lod(); + PADDLE_ENFORCE_EQ( + lod.empty(), false, + "Input(ROIs) Tensor of ROIAlignOp does not contain LoD information."); + auto rois_lod = lod.back(); int rois_batch_size = rois_lod.size() - 1; PADDLE_ENFORCE_EQ( rois_batch_size, batch_size, diff --git a/paddle/fluid/operators/roi_align_op.h b/paddle/fluid/operators/roi_align_op.h index 78befea2f87302769b1ddee51152ff98daff911c..4ed680f0c388d0b3cfab24adf39386f16bf8848f 100644 --- a/paddle/fluid/operators/roi_align_op.h +++ b/paddle/fluid/operators/roi_align_op.h @@ -166,7 +166,11 @@ class CPUROIAlignOpKernel : public framework::OpKernel { int* roi_batch_id_data = roi_batch_id_list.mutable_data(ctx.GetPlace()); - auto rois_lod = rois->lod().back(); + auto lod = rois->lod(); + PADDLE_ENFORCE_EQ( + lod.empty(), false, + "Input(ROIs) Tensor of ROIAlignOp does not contain LoD information."); + auto rois_lod = lod.back(); int rois_batch_size = rois_lod.size() - 1; PADDLE_ENFORCE_EQ( rois_batch_size, batch_size,