From 63b671f54d298a05c1b8ef74bd731abf3b5eedd5 Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Fri, 23 Feb 2018 16:05:34 +0100 Subject: [PATCH] Use caffe multiplication for efficiency. --- src/visualisations.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/visualisations.cpp b/src/visualisations.cpp index 210268e..10c5049 100644 --- a/src/visualisations.cpp +++ b/src/visualisations.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "visualisations.hpp" #include "DummyLayerVisualisation.hpp" #include "MultiImageVisualisation.hpp" @@ -92,9 +93,10 @@ static Animation *getFullyConnectedAnimation(const fmri::LayerData &prevState, c const auto numEntries = accumulate(shape.begin(), shape.end(), static_cast(1), multiplies()); vector interactions(numEntries); + const auto stepSize = shape[0]; - for (auto i : Range(numEntries)) { - interactions[i] = weights[i] * data[i % shape[0]]; + for (auto i : Range(numEntries / stepSize)) { + caffe::caffe_mul(shape[0], &weights[i * stepSize], data, &interactions[i * stepSize]); } const auto desiredSize = min(INTERACTION_LIMIT, numEntries);