You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by mb...@apache.org on 2018/08/03 05:52:33 UTC
[3/3] systemml git commit: [MINOR] Performance / cleanup conv2d R
test script (vectorized biasadd)
[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 <mb...@gmail.com>
Authored: Thu Aug 2 22:53:30 2018 -0700
Committer: Matthias Boehm <mb...@gmail.com>
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=""))