From 1a9b75ac94f232c5366089295bbac2a4203f8fb4 Mon Sep 17 00:00:00 2001 From: avilash Date: Sat, 11 Nov 2017 13:42:16 +0530 Subject: [PATCH] Speed up top masks evaluation for high number of proposals --- InferDeepMask.lua | 7 ++++--- InferSharpMask.lua | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/InferDeepMask.lua b/InferDeepMask.lua index facbd08..2fd9588 100644 --- a/InferDeepMask.lua +++ b/InferDeepMask.lua @@ -187,10 +187,11 @@ function Infer:getTopMasks(thr,h,w) local masks,topScores,np = self.mask,self.topScores,self.np topMasks:resize(np,h,w):zero() imgMask:resize(h,w) - local imgMaskPtr = imgMask:data() + imgMask:zero() for i = 1,np do - imgMask:zero() + local imgMask_copy = imgMask:clone() + local imgMaskPtr = imgMask_copy:data() local scale,x,y=topScores[i][2], topScores[i][3], topScores[i][4] local s=self.scales[scale] local sz = math.floor(self.iSz/s) @@ -212,7 +213,7 @@ function Infer:getTopMasks(thr,h,w) end end end - topMasks:narrow(1,i,1):copy(imgMask) + topMasks:narrow(1,i,1):copy(imgMask_copy) end return topMasks diff --git a/InferSharpMask.lua b/InferSharpMask.lua index a889eab..ac18156 100644 --- a/InferSharpMask.lua +++ b/InferSharpMask.lua @@ -282,10 +282,11 @@ function Infer:getTopMasks(thr,h,w) local topMasks0,topScores,np = self.topMasks0,self.topScores,self.np topMasks:resize(np,h,w):zero() imgMask:resize(h,w) - local imgMaskPtr = imgMask:data() + imgMask:zero() for i = 1,np do - imgMask:zero() + local imgMask_copy = imgMask:clone() + local imgMaskPtr = imgMask_copy:data() local scale,x,y = topScores[i][2],topScores[i][3],topScores[i][4] local s = self.scales[scale] local sz = math.floor(self.iSz/s) @@ -306,7 +307,7 @@ function Infer:getTopMasks(thr,h,w) end end - topMasks:narrow(1,i,1):copy(imgMask) + topMasks:narrow(1,i,1):copy(imgMask_copy) end self.topMasks = topMasks