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);