From 335822cf67494389e26018bfdef24be9cafb0cde Mon Sep 17 00:00:00 2001 From: Hero Bird Date: Tue, 5 Sep 2017 01:40:12 +0200 Subject: [PATCH] replaced ArrayBase::outer_iter{_mut} calls with calls to ArrayBase::genrows{_mut} --- src/neural_net.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/neural_net.rs b/src/neural_net.rs index 4ba00a9..9d7816c 100644 --- a/src/neural_net.rs +++ b/src/neural_net.rs @@ -171,7 +171,7 @@ impl FullyConnectedLayer { // Could profit greatly from vectorization and builtin library solutions for this // kind of operation w.r.t. performance gains. // ================================================================================= - Zip::from(&mut self.outputs).and(self.weights.outer_iter()).apply(|output, weights| { + Zip::from(&mut self.outputs).and(self.weights.genrows()).apply(|output, weights| { let s = weights.len(); *output = act.base(weights.slice(s![..-1]).dot(&input) + weights[s-1]); }); @@ -236,7 +236,7 @@ impl FullyConnectedLayer { debug_assert_eq!(prev.weights.rows(), prev.count_gradients() - 1); debug_assert_eq!(prev.weights.cols(), self.count_gradients()); - multizip((prev.weights.outer_iter(), prev.gradients.iter())) + multizip((prev.weights.genrows(), prev.gradients.iter())) .foreach(|(prev_weights_row, prev_gradient)| { multizip((self.gradients.iter_mut(), prev_weights_row.iter())) .foreach(|(gradient, weight)| *gradient += weight * prev_gradient) @@ -261,8 +261,8 @@ impl FullyConnectedLayer { // ==================================================================== // // OLD // ==================================================================== // - multizip((self.weights.outer_iter_mut(), - self.delta_weights.outer_iter_mut(), + multizip((self.weights.genrows_mut(), + self.delta_weights.genrows_mut(), self.gradients.iter())) .foreach(|(mut weights_row, mut delta_weights_row, gradient)| { multizip((prev_outputs.iter().chain(iter::once(&1.0)),