[MINOR] Performance / cleanup conv2d R test script (vectorized biasadd) Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/8fbeca14 Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/8fbeca14 Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/8fbeca14
Branch: refs/heads/master Commit: 8fbeca142c1fbb8f2786a1097fb9840be5ca8005 Parents: fce9d97 Author: Matthias Boehm <[email protected]> Authored: Thu Aug 2 22:53:30 2018 -0700 Committer: Matthias Boehm <[email protected]> Committed: Thu Aug 2 22:54:13 2018 -0700 ---------------------------------------------------------------------- src/test/scripts/functions/tensor/Conv2DTest.R | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/8fbeca14/src/test/scripts/functions/tensor/Conv2DTest.R ---------------------------------------------------------------------- diff --git a/src/test/scripts/functions/tensor/Conv2DTest.R b/src/test/scripts/functions/tensor/Conv2DTest.R index dbe9ea4..41ae7ed 100644 --- a/src/test/scripts/functions/tensor/Conv2DTest.R +++ b/src/test/scripts/functions/tensor/Conv2DTest.R @@ -105,19 +105,14 @@ conv2d <- function(X, W, C, Hin, Win, Hf, Wf, strideh, stridew, padh, padw) { out } -output = conv2d(x, w, numChannels, imgSize, imgSize, filterSize, filterSize, stride, stride, pad, pad); +R = conv2d(x, w, numChannels, imgSize, imgSize, filterSize, filterSize, stride, stride, pad, pad); Hout = as.integer((imgSize + 2 * pad - filterSize) / stride + 1) Wout = Hout -b=matrix(seq(1, numFilters), numFilters, 1, byrow=TRUE) +b = matrix(seq(1, numFilters), numFilters, 1, byrow=TRUE) for(k in 0:(numFilters-1)) { - for(i in 1:nrow(output)) { - start = k*Hout*Hout; - for(j in 1:(Hout*Hout)) { - output[i,start+j] = output[i,start+j] + b[k+1,1] - } - } + start = k*Hout^2; + R[,(start+1):(start+Hout^2)] = R[,(start+1):(start+Hout^2)] + b[k+1,1] } - -writeMM(as(output,"CsparseMatrix"), paste(args[8], "B", sep="")) +writeMM(as(R,"CsparseMatrix"), paste(args[8], "B", sep=""))
