From fcd5207416a9caf40f8e35a9604ca75e20e2e209 Mon Sep 17 00:00:00 2001 From: yuzhenhua Date: Thu, 15 Apr 2021 15:23:00 +0800 Subject: [PATCH] fix accuracy of fasterrcnn below 62.5% --- .../cv/faster_rcnn/ascend310_infer/src/AclProcess.cpp | 4 ++-- .../cv/faster_rcnn/src/FasterRcnn/proposal_generator.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/model_zoo/official/cv/faster_rcnn/ascend310_infer/src/AclProcess.cpp b/model_zoo/official/cv/faster_rcnn/ascend310_infer/src/AclProcess.cpp index 1a37774642..8d27285793 100755 --- a/model_zoo/official/cv/faster_rcnn/ascend310_infer/src/AclProcess.cpp +++ b/model_zoo/official/cv/faster_rcnn/ascend310_infer/src/AclProcess.cpp @@ -253,7 +253,7 @@ int AclProcess::Preprocess(const std::string& imageFile) { resizeOutData.height = modelInfo_.modelHeight; resizeOutData.width = modelInfo_.modelWidth; resizeOutData.format = PIXEL_FORMAT_YUV_SEMIPLANAR_420; - ret = dvppCommon_->CombineResizeProcess(decodeOutData, resizeOutData, true, VPC_PT_DEFAULT); + ret = dvppCommon_->CombineResizeProcess(decodeOutData, resizeOutData, true, VPC_PT_PADDING); if (ret != OK) { std::cout << "Failed to execute image resized of preprocess module, ret = " << ret << "." << std::endl; return ret; @@ -304,7 +304,7 @@ int AclProcess::ModelInfer(std::map *costTime_map) { } std::vector inputBuffers({resizeOutData->data, imInfo_dst}); - std::vector inputSizes({resizeOutData->dataSize, 4 * 2}); + std::vector inputSizes({resizeOutData->dataSize, 4 * 4}); for (size_t i = 0; i < modelInfo_.outputNum; i++) { aclrtMemset(outputBuffers_[i], outputSizes_[i], 0, outputSizes_[i]); diff --git a/model_zoo/official/cv/faster_rcnn/src/FasterRcnn/proposal_generator.py b/model_zoo/official/cv/faster_rcnn/src/FasterRcnn/proposal_generator.py index b1a6741b50..1b702555c2 100644 --- a/model_zoo/official/cv/faster_rcnn/src/FasterRcnn/proposal_generator.py +++ b/model_zoo/official/cv/faster_rcnn/src/FasterRcnn/proposal_generator.py @@ -131,7 +131,7 @@ class Proposal(nn.Cell): self.topKv2 = P.TopK(sorted=True) self.topK_shape_stage2 = (self.max_num, 1) - self.min_float_num = -65536.0 + self.min_float_num = -65500.0 self.topK_mask = Tensor(self.min_float_num * np.ones(total_max_topk_input, np.float32)) def construct(self, rpn_cls_score_total, rpn_bbox_pred_total, anchor_list):